# Smartlead MCP connector

The Smartlead connector brings your outreach campaigns, leads, email accounts and reply analytics to Claude, ChatGPT, Cursor and the Elaichi Agent, so your team can check, adjust and report on cold email from any AI client.

Source: https://elaichi.ai/connectors/smartlead/

## Facts

| | |
| --- | --- |
| Application | Smartlead |
| Category | Sales Enablement |
| AI tools | 135 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 135 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Smartlead is connected

- Which Smartlead campaigns had the most replies last week?
- Pause the Q2 outbound campaign and update its schedule.
- Export leads from the enterprise Smartlead campaign as CSV.

## Connect Smartlead in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Smartlead.
2. Optionally set Share with, then press Connect.
3. Paste a Smartlead API key. One person generates a token in Smartlead and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Smartlead tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Smartlead to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Smartlead to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Smartlead to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Smartlead to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Smartlead tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Smartlead through Elaichi

### Check how a campaign is doing before standup

Sales development. Ask for open, reply and bounce rates on a live Smartlead campaign, by day if you want, and get a plain answer instead of digging through dashboards.

### Pause a campaign that has gone sideways

Sales development. When a sequence starts drawing complaints or bounces, pause it, change its sending schedule, or duplicate it as a fresh draft to rework the copy.

### Pull up a lead's full outreach history

Sales. Before a call, see every email a prospect received and every reply they sent across Smartlead campaigns, so nobody walks in cold.

### Keep sending mailboxes healthy

Revenue operations. List every email account, spot the ones that have disconnected or failed, and reconnect them before a campaign quietly stops sending.

### Spin up and test a new sequence

Marketing. Create a campaign, add a follow-up subsequence for people who opened but did not reply, and send a test email to yourself before it goes live.

### Export leads and report on the week

Sales leadership. Export a campaign's leads to a spreadsheet and summarize top-level results across all Smartlead campaigns for a Monday pipeline review.

## Frequently asked questions

### How do I connect Smartlead to Claude?

In Elaichi, choose Smartlead and paste the API key from your Smartlead account settings; there is no OAuth application to register and no client ID or secret to generate. Then open Claude, go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. Sign in as yourself and Smartlead is ready to use in Claude in a few minutes.

### Does Smartlead work with ChatGPT and Cursor as well as Claude?

Yes. Once Smartlead is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect Smartlead once and every client picks it up.

### What can an AI agent actually do with my Smartlead data?

With Smartlead connected, an agent can list your campaigns, report open and reply rates by date, pull a lead's full email history, and export campaign leads to a spreadsheet. It can also create or duplicate a campaign, pause or resume one, change its schedule, add a follow-up subsequence, send a test email, and reconnect email accounts that have stopped sending. Because Smartlead exposes a lot of actions, short concrete asks such as "pause the Q3 SaaS campaign" work better than long paragraphs.

### Does connecting Smartlead give the AI access to every campaign and mailbox in my workspace?

The AI only sees what the person who signed in can see in Smartlead. Elaichi can narrow that further, for example to reporting only or to a specific team, but it can never widen it beyond what that person's Smartlead access already allows.

### Can my team share one Smartlead connection?

Yes. One person connects Smartlead in Elaichi and shares it with a team, and nobody else ever handles the API key. Each teammate still signs in to Elaichi as themselves, so the audit log records exactly who paused a campaign or exported a lead list.

### Can I stop an agent from deleting or changing things in Smartlead?

Yes. Restrictions in Elaichi apply to each Smartlead action separately, so you can allow reading campaign analytics while blocking campaign deletion or schedule changes. A blocked action is never shown to Claude, ChatGPT or Cursor at all, so no prompt, however worded, can reach it.

### What happens to a Smartlead connection when someone leaves?

When you offboard someone in Elaichi, their access to Smartlead through every AI client ends at once. A shared Smartlead connection keeps working for everyone else on the team. If you ever want to remove Smartlead entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client together.

## All 135 Smartlead tools

Every tool below is callable through https://api.elaichi.ai/mcp once Smartlead is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Smartlead campaigns** (List). List all SmartLead email campaigns ordered by newest first. Returns: id, created_at, updated_at, message. Optional client_id filter and include_tags flag.
- **Create a Smartlead campaign** (Create). Create a new SmartLead email campaign in DRAFTED status with default settings. Returns: ok, id, name, created_at. Name defaults to 'Untitled Campaign' if omitted; other settings must be configured via separate update endpoints after creation.
- **Get single Smartlead campaign by ID** (Get). Get a single SmartLead campaign by id with full configuration and lead statistics. Returns: success, data. Required: id.
- **Update a Smartlead campaign by ID** (Update). Update SmartLead campaign settings including tracking, sending limits, stop conditions, AI matching, plain text mode, and out-of-office detection. Returns: success, data, message. Required: id.
- **Delete a Smartlead campaign by ID** (Delete). Permanently delete a SmartLead campaign by id, removing all sequences, lead mappings, statistics, and history. Returns: success, message. Required: id. This action cannot be undone; active campaigns must be stopped first.
- **Smartlead campaigns top level analytics** (Action). Get top-level analytics for a SmartLead campaign including engagement and deliverability metrics. Returns: campaign_id, campaign_name, total_sent, total_opened, total_clicked, total_replied, open_rate, click_rate, reply_rate, bounce_rate, unsubscribe_rate, message. Required: campaign_id.
- **Smartlead campaigns export campaign leads CSV** (Export). Export a SmartLead campaign's leads as a CSV file download. Returns a CSV file containing lead information, engagement metrics, and unsubscribe status. Required: campaign_id.
- **Smartlead campaigns update campaign status** (Update). Update the status of a SmartLead campaign to START, PAUSED, or STOPPED. Returns: success, message, campaign. Required: campaign_id, status. Use "START" (not "ACTIVE") to activate a campaign; STOPPED permanently stops the campaign and cannot be reversed.
- **Smartlead campaigns update schedule** (Update). Update the sending schedule for a SmartLead campaign, including timezone, days of the week, sending hours, and minimum time between consecutive emails. Returns: success, data, message. Required: campaign_id, schedule (with timezone, days, start_hour, end_hour).
- **Smartlead campaigns create subsequence** (Create). Create a branching subsequence for a SmartLead campaign that triggers based on lead behavior. Returns: success, subsequence_id. Required: parent_campaign_id.
- **Smartlead campaigns duplicate** (Duplicate). Duplicate an existing SmartLead campaign with its sequences, settings, schedule, and email account mappings. The new campaign starts in DRAFTED status with no leads. Returns: ok, newCampaignId. Required: campaign_id.
- **Smartlead campaigns forward email** (Forward). Forward a SmartLead campaign email to team members or external recipients while maintaining thread context. Returns: success. Required: campaign_id.
- **Smartlead campaigns get all leads activities** (Get). List lead engagement activities across all SmartLead campaigns for account-wide reporting. Returns per-activity records with lead_email, campaign_id, campaign_name, activity_type, event_time.
- **Smartlead campaigns get analytics by date** (Get). Get SmartLead campaign analytics over a specific date range to track performance trends. Returns: campaign_id, start_date, end_date, total_sent, open_rate, click_rate, reply_rate. Required: campaign_id, start_date, end_date.
- **Smartlead campaigns get mailbox statistics** (Get). Get SmartLead campaign mailbox statistics with optional date filtering, client filtering, and timezone support. Returns: ok, data, message. Required: campaign_id.
- **Smartlead campaigns get top level analytics** (Get). Get SmartLead top-level campaign analytics for a specific date range. Returns: total_sent, total_delivered, open_rate, reply_rate. Required: campaign_id, start_date, end_date.
- **Smartlead campaigns send test email** (Send). Send a test email from a SmartLead campaign sequence to preview content, formatting, and personalization before launching. Returns: success, message. Required: campaign_id, leadId, sequenceNumber.
- **Smartlead campaigns update lead email account** (Update). Override the email account used for a specific lead in a SmartLead campaign, useful for deliverability optimization or when specific senders perform better with certain leads. Returns: success, message. Required: email_account_id, email_campaign_id, email_lead_id.
- **Smartlead campaigns update team member** (Update). Assign a SmartLead campaign to a specific team member for accountability and workload distribution. Returns: success, message. Required: campaign_id. Pass null for teamMemberId to unassign the campaign.
- **List all Smartlead email accounts** (List). List all SmartLead email accounts with SMTP/IMAP configuration, warmup status, and campaign associations. Returns: id, type, created_at, updated_at, ok. Max 100 per page.
- **Create a Smartlead email account** (Create). Create a new SmartLead email account with SMTP and IMAP configuration. Returns: ok, message, data, from_name, from_email, user_name, password, smtp_host, smtp_port, imap_host, imap_port, warmup_enabled, type. Required: from_name, from_email, user_name, password, smtp_host, smtp_port, imap_host, imap_port, warmup_enabled.
- **Get single Smartlead email account by ID** (Get). Get a single SmartLead email account by id with full SMTP/IMAP configuration, warmup details, tags, and sending settings. Returns: id, type, created_at, updated_at, ok, message. Required: id.
- **Update a Smartlead email account by ID** (Update). Update settings for a SmartLead email account by id — daily sending limits, signature, custom tracking domain, BCC, wait time, or suspension state. Returns: ok, message. Required: id. All body fields are optional; to update SMTP/IMAP credentials use the Add SMTP Email Account endpoint instead.
- **Smartlead email accounts reconnect failed emails** (Action). Trigger reconnection of all failed email accounts in SmartLead. This is a bulk action that attempts to re-establish SMTP/IMAP connections for every email account in a failed state. Returns: success, message, from_name, from_email, user_name, password, smtp_host, smtp_port, imap_host, imap_port, warmup_enabled.
- **Smartlead email accounts create oauth** (Create). Create an OAuth-authenticated email account in SmartLead (Gmail or Outlook). Returns: ok, message, data. Required: from_name, from_email, username, type, token, warmup_enabled, use_whitelabel_credentials.
- **Delete a Smartlead email account by ID** (Delete). Delete a SmartLead email account by id. The account is removed from all campaigns, warmup is deactivated, and the action cannot be undone. Returns: ok, message, emailAccountId. Required: id.
- **Smartlead email accounts suspend** (Suspend). Suspend a SmartLead email account to temporarily pause campaign and warmup sending without deleting it. Returns: success, message, data. Required: suspend_id.
- **Smartlead email accounts unsuspend** (Action). Unsuspend a SmartLead email account to restore it to active status for campaign emails and warmup. Returns: success, message, data. Required: unsuspend_id.
- **List all Smartlead campaign email accounts** (List). List all email accounts associated with a SmartLead campaign. Returns: id, type, ok. Required: campaign_id.
- **Create a Smartlead campaign email account** (Create). Associate one or more email accounts with a SmartLead campaign. Returns: ok, id, name, created_at. Required: campaign_id, email_account_ids.
- **Delete a Smartlead campaign email account by ID** (Delete). Remove email accounts from a SmartLead campaign by disassociating them. Returns: ok. Required: id, email_account_ids.
- **List all Smartlead campaign leads** (List). List all leads in a SmartLead campaign with advanced filtering. Returns each lead with id, email, first_name, last_name, company_name, status, category_name, created_at, last_sent_time, email_stats, and custom_fields. Required: campaign_id.
- **Create a Smartlead campaign lead** (Create). Add leads to a SmartLead campaign. Returns: success, added_count, skipped_count, lead_ids, message, ok, id, name, created_at. Required: campaign_id, lead_list. Max 400 leads per request.
- **Delete a Smartlead campaign lead by ID** (Delete). Delete a lead from a SmartLead campaign. Returns: success, message. Required: campaign_id, id. This removes the lead from the campaign only, not from the account.
- **Smartlead campaign leads unsubscribe lead** (Action). Unsubscribe a lead from a specific SmartLead campaign so the lead will no longer be contacted within that campaign. Returns: success, message. Required: campaign_id, lead_id.
- **Smartlead campaign leads pause lead** (Pause). Pause a lead in a SmartLead campaign, stopping all scheduled emails for that lead within the campaign. Returns: success, message. Required: campaign_id, lead_id.
- **Smartlead campaign leads resume leads** (Resume). Resume a paused lead in a Smartlead campaign immediately or after a configurable delay. Returns: success, message, will_resume_at. Required: campaign_id, lead_id.
- **Smartlead campaign leads reply to lead** (Reply). Send a reply email to a lead within a Smartlead campaign, maintaining the existing email thread. Supports scheduling, CC/BCC, attachments, and signature inclusion. Returns: success, message. Required: campaign_id, email_stats_id, email_body.
- **Update a Smartlead campaign lead by ID** (Update). Update a lead's contact information, company details, and custom fields within a Smartlead campaign. Returns: success, message. Required: campaign_id, id.
- **Smartlead campaign leads update lead category** (Update). Update the category assigned to a lead in a Smartlead campaign, optionally pausing the lead after categorizing. Use null for category_id to remove the category. Returns: success, message. Required: campaign_id, lead_id.
- **Smartlead campaign leads get bulk message history** (Get). Fetch bulk email message history for multiple leads in a SmartLead campaign in a single API call. Returns: data, ok, id, name, created_at. Required: campaign_id, token.
- **Smartlead campaign leads mark complete** (Complete). Manually mark a SmartLead campaign lead as complete to stop further emails without categorizing as unsubscribed or stopped. Returns: success, message. Required: campaign_id, lead_map_id.
- **List all Smartlead leads** (List). Get Smartlead lead details by email, including all campaigns the lead is enrolled in. Returns: id, first_name, last_name, email, phone_number, company_name, website, location, linkedin_profile, company_url, custom_fields, is_unsubscribed, unsubscribed_client_id_map, created_at, lead_campaign_data. Required: email.
- **Smartlead leads unsubscribe** (Action). Unsubscribe a SmartLead lead globally across all campaigns so the lead will not receive future emails from any campaign. Returns: ok. Required: lead_id. This action cannot be undone via API.
- **Smartlead leads block** (Block). Add domains or email addresses to SmartLead's global block list to prevent future outreach. Returns: success, message, data, added_count, skipped_count, lead_ids. Required: domain_block_list.
- **Get single Smartlead lead by ID** (Get). Get a SmartLead lead by id with complete contact info, engagement stats, category, and custom fields. This is a global lead lookup across all campaigns. Returns: id, email, first_name, last_name, company_name, status, category_id, category_name, email_stats, custom_fields. Required: id.
- **Smartlead leads get by email** (Get). Get a SmartLead lead by email address including personal information, custom fields, and all campaigns the lead is enrolled in. Returns an empty object if the lead is not found. Returns: id, created_at. Required: email.
- **List all Smartlead lead campaigns** (List). List SmartLead campaigns that a lead is enrolled in. Returns: id, created_at, updated_at, name, event_type, lead_email, lead_name, campaign_name, campaign_id, unsubscribed_client_id_map. Required: lead_id.
- **List all Smartlead campaign sequences** (List). List all email sequences configured for a SmartLead campaign. Returns each sequence with id, seq_number, subject, email_body, email_campaign_id, created_at, updated_at, and sequence_variants (including variant id, variant_name, subject, and email_body). Required: campaign_id.
- **Update a Smartlead campaign sequence by ID** (Update). Create new or update existing email sequences for a Smartlead campaign by campaign_id. Returns: message. Required: campaign_id. Cannot modify sequences while the campaign is ACTIVE — pause the campaign first.
- **List all Smartlead campaign statistics by date** (List). Get SmartLead campaign analytics for a specific date range. Analyze campaign performance over a time period to track improvements and identify trends. Returns: campaign_id, start_date, end_date, total_sent, open_rate, click_rate, reply_rate. Required: campaign_id, start_date, end_date.
- **List all Smartlead lead category** (List). List all lead categories in Smartlead. Returns an array of category objects including id, name, sentiment_type, and created_at. sentiment_type values are positive, negative, or neutral. Categories are sorted by ID ascending; global categories have lower IDs than user-created ones.
- **List all Smartlead campaign lead message history** (List). List the full email thread history for a specific lead in a SmartLead campaign. Returns: id, subject, direction, sent_at, opened_at, received_at. Required: campaign_id, lead_id.
- **List all Smartlead campaign statistics** (List). List email-level statistics for a SmartLead campaign, optionally filtered by sequence number (1-20), email status, or sent-time range. Returns per-email statistics records including campaign_id, lead_name, lead_email, sequence_number, sent_time, is_opened, is_clicked, is_replied, and is_bounced. Required: campaign_id.
- **List all Smartlead campaign webhooks** (List). List all webhooks configured for a SmartLead campaign. Returns: success, data. Required: campaign_id.
- **Update a Smartlead campaign webhook by ID** (Update). Update an existing webhook for a SmartLead campaign. Returns: success, data. Required: id, name, webhook_url, event_types.
- **Create a Smartlead campaign webhook** (Create). Create a new webhook for a SmartLead campaign. Returns: success, data, ok, id, name, created_at. Required: campaign_id, name, webhook_url, event_types.
- **Delete a Smartlead campaign webhook by ID** (Delete). Delete a webhook from a SmartLead campaign by id. Returns: success, message, data. Required: id.
- **Smartlead campaign webhooks bulk delete** (Delete). Delete a webhook from a SmartLead campaign. Returns: success, message. Required: campaign_id, webhook_id.
- **Smartlead campaign webhooks get summary** (Get). Get a summary of webhook delivery statistics for a SmartLead campaign within a date range. Returns: total_calls, successful_calls, failed_calls, success_rate. Required: campaign_id, fromTime, toTime.
- **Smartlead campaign webhooks retrigger** (Action). Retrigger failed webhook events for a SmartLead campaign within a date range. Returns: success, retriggered_count. Required: campaign_id, fromTime, toTime.
- **List all Smartlead email account warmup stats** (List). Get warmup statistics for a SmartLead email account covering the last 7 days. Returns: message. Required: email_account_id.
- **Create a Smartlead email account warmup setting** (Create). Enable or configure warmup settings for a SmartLead email account. Returns: ok, message, from_name, from_email, user_name, password, smtp_host, smtp_port, imap_host, imap_port, warmup_enabled. Required: email_account_id, warmup_enabled. Warmup volume and ramp-up parameters have documented min/max ranges (total_warmup_per_day: 1–50, daily_rampup: 5–20, reply_rate_percentage: 20–100).
- **Create a Smartlead client** (Create). Create a new client sub-account in SmartLead for managing multiple brands or agencies with isolated workspaces and configurable permissions. Returns: ok, data, message. Required: email, name.
- **List all Smartlead clients** (List). List all whitelabel client sub-accounts in SmartLead for managing and monitoring agency clients. Returns: message.
- **Smartlead clients create API key** (Create). Create a new SmartLead client API key for a specific client sub-account. Returns: ok, data, message. Required: clientId, keyName.
- **Smartlead clients list API keys** (List). List all SmartLead client API keys, optionally filtered by client, status, or key name. Returns: ok, data, message.
- **Smartlead clients delete API key** (Delete). Delete a SmartLead client API key by id. Returns an empty 204 response on success. Required: api_key_id.
- **Smartlead clients reset API key** (Action). Reset a SmartLead client API key by id, generating a new key value while preserving the key record. Returns: ok, data, message. Required: reset_id.
- **Smartlead email account tags assign tags** (Assign). Assign existing SmartLead tags to one or more email accounts. Returns: ok, message. Required: email_account_ids, tag_ids. You can tag up to 25 email accounts at once.
- **Smartlead email account tags create tag** (Create). Create a new SmartLead tag for organizing email accounts into groups. Returns: ok, data, message. Required: name. The system auto-generates the tag ID.
- **Smartlead email account tags get tags** (Get). Retrieve tag information for specific SmartLead email accounts by their email addresses. Returns: ok, data, message. Required: email_ids.
- **List all Smartlead email account tags** (List). List all SmartLead email account tags created by the user, independent of which email accounts they are assigned to. Returns: id, name, color, ok, message.
- **Smartlead email account tags remove tags** (Delete). Remove tag associations from SmartLead email accounts. This does not delete the tags themselves. Returns: ok, message. Required: email_account_ids, tag_ids.
- **Smartlead inbox block domains** (Block). Block email domains system-wide in SmartLead to prevent future outreach across all campaigns. Returns: success, message, data, error. Required: domains.
- **Smartlead inbox change read status** (Action). Change the read or unread status of a lead conversation in SmartLead. Returns: success, message, data, error. Required: email_lead_map_id, read_status. The old /mark-unread endpoint is deprecated after August 14, 2025.
- **Smartlead inbox create note** (Create). Create a note on a lead conversation in SmartLead for team collaboration and historical tracking. Returns: ok, data, message. Required: email_lead_map_id, note_message.
- **Smartlead inbox create task** (Create). Create a task linked to a lead in SmartLead for tracking follow-up actions. Returns: success, message, data. Required: email_lead_map_id, name.
- **Smartlead inbox get by ID** (Get). Get a single master inbox item by ID in SmartLead including complete thread information, lead data, and metadata. Returns: id, error. Required: master_inbox_id.
- **Smartlead inbox get messages** (Get). Retrieve all lead replies across campaigns in the SmartLead master inbox with advanced filtering by campaign, email account, team member, tags, clients, lead categories, and date range. Returns: message. Max 20 records per page; campaignId filter limited to 5 items.
- **Smartlead inbox get reply status** (Get). Get the delivery status of a reply sent from the SmartLead master inbox by its email Message-ID. Returns: ok, data. Required: message_id.
- **Smartlead inbox push to subsequence** (Push). Push a lead from a parent campaign into a subsequence (child campaign) for specialized follow-up in SmartLead. Returns: success, message, data. Required: email_lead_map_id, sub_sequence_id.
- **Smartlead inbox resume lead** (Resume). Resume a paused or stopped lead in a SmartLead campaign sequence, optionally adding a delay before restarting. Returns: success, message, data. Required: campaign_id, email_lead_map_id.
- **Smartlead inbox set reminder** (Set). Schedule a follow-up reminder for a lead conversation in SmartLead that triggers email and push notifications at the specified time. Returns: success, message, data. Required: email_lead_map_id, email_stats_id, message, reminder_time.
- **Smartlead inbox update category** (Update). Update the category of a lead in SmartLead's master inbox. Returns: success, message. Required: email_lead_map_id, category_id. Pass null for category_id to remove the category assignment.
- **Smartlead inbox update revenue** (Update). Update the revenue value for a lead in SmartLead's master inbox. Returns: success, message, data, error, field, provided_value. Required: email_lead_map_id, revenue. Revenue must be non-negative.
- **Smartlead inbox update team member** (Update). Assign a lead to a team member in SmartLead's master inbox for follow-up and workload distribution. Returns: success, message, data, error. Required: email_lead_map_id, team_member_id.
- **Smartlead lead lists assign tags** (Assign). Assign or remove tags on SmartLead lead lists in bulk. Returns: ok, message. Required: listIds, tagIds. Supports 1-10 lists and 1-10 tags per request.
- **Create a Smartlead lead list** (Create). Create a new lead list in SmartLead. Returns: ok, data, message. Required: listName.
- **Delete a Smartlead lead list by ID** (Delete). Delete a SmartLead lead list by id. Returns: ok, message. Required: id.
- **Get single Smartlead lead list by ID** (Get). Get a single SmartLead lead list by id. Returns: ok, data, message. Required: id.
- **Smartlead lead lists import leads** (Import). Bulk import leads into a SmartLead lead list. Returns: ok, data, message. Required: lead_list_id, leadList, fileName.
- **List all Smartlead lead lists** (List). List SmartLead lead lists with optional filtering by name or tags. Returns: ok, data, message. Max 1000 per page.
- **Smartlead lead lists push between lists** (Push). Copy or move leads between SmartLead lead lists. Returns: ok, data, message. Required: action, toListId. Provide either leadIds or fromListId.
- **Smartlead lead lists push to campaign** (Push). Push leads from a SmartLead lead list into a campaign for outreach by copying or moving them. Returns: ok, data, message. Required: action. Either campaignId or campaignName must be provided.
- **Update a Smartlead lead list by ID** (Update). Update the name of a SmartLead lead list by id. Returns: ok, data, message. Required: id, listName.
- **Smartlead lead tags add tags to lead** (Add). Add one or more existing tags to a lead in SmartLead. Returns: ok, message. Required: leadId, tagIds.
- **Smartlead lead tags create tag** (Create). Create or update a tag in SmartLead. Pass an existing tag id to update it rather than create a new one. Returns: ok, data, message. Required: id, name, color.
- **Smartlead lead tags get lead tags** (Get). Get tags for a lead in SmartLead, or all available tags when no leadId is provided. Returns: ok, data, message.
- **Smartlead lead tags remove tag from lead** (Delete). Remove a tag from a lead in SmartLead by tag mapping ID. Returns: ok, message. Required: tag_id (use the tag_mapping_id from the Get Lead Tags response, not the tag ID).
- **Update a Smartlead campaign sequence by ID** (Update). Create or update email sequences for a SmartLead campaign. Set id: null for new sequences or include an existing id to update. Returns: message. Required: campaign_id. Cannot modify sequences while campaign is ACTIVE — pause the campaign first.
- **Smartlead campaign leads mark complete** (Complete). Mark a SmartLead campaign lead as manually complete to stop further emails without categorizing the lead as unsubscribed or stopped. Returns: success, message. Required: campaign_id, lead_map_id.
- **Smartlead campaign leads get bulk message history** (Get). Get email conversation history for multiple SmartLead campaign leads in a single API call, efficient for bulk operations and reporting. Returns: data, success, added_count, skipped_count, lead_ids, message. Required: campaign_id, token.
- **Smartlead campaign webhooks bulk delete** (Delete). Delete a SmartLead campaign webhook by campaign and webhook id. Returns: success, message. Required: campaign_id, webhook_id.
- **Smartlead campaign webhooks get summary** (Get). Get a summary of webhook delivery statistics for a SmartLead campaign within a specified date range. Returns: total_calls, successful_calls, failed_calls, success_rate. Required: campaign_id, fromTime, toTime.
- **Smartlead campaign webhooks retrigger** (Action). Retrigger failed webhook events for a SmartLead campaign within a specified date range. Returns: success, retriggered_count. Required: campaign_id, fromTime, toTime.
- **Smartlead email accounts create oauth** (Create). Add an OAuth-authenticated email account (Gmail or Outlook) to SmartLead, including warmup and sending configuration. Returns: ok, message, data. Required: from_name, from_email, username, type, token, warmup_enabled, use_whitelabel_credentials.
- **Delete a Smartlead email account by ID** (Delete). Delete a SmartLead email account by id. The account is soft-deleted, removed from all campaign associations, and warmup is deactivated. Returns: ok, message, emailAccountId. Required: id. This action cannot be undone.
- **Smartlead email accounts suspend** (Suspend). Suspend a SmartLead email account by suspend_id, pausing campaign emails and warmup while preserving all configuration. Returns: success, message, data. Required: suspend_id.
- **Smartlead email accounts unsuspend** (Action). Unsuspend a SmartLead email account by unsuspend_id, reactivating it for campaign emails and warmup across all associated campaigns. Returns: success, message, data. Required: unsuspend_id.
- **Smartlead analytics get overall stats** (Get). Get overall SmartLead email analytics stats for a date range. Returns: success, message, data. Required: start_date, end_date. Unique counts are not additive across days — query the full range directly rather than summing per-day calls.
- **Smartlead analytics get campaign list** (Get). List SmartLead campaigns available for analytics. Returns: id, name, message.
- **Smartlead analytics get campaign performance** (Get). Get per-campaign performance metrics from SmartLead analytics for a date range. Returns: id, open_rate, reply_rate, message. Required: start_date, end_date. One row per campaign; unique counts are not additive across days.
- **Smartlead analytics get campaign response stats** (Get). Get per-campaign reply breakdown by sentiment from SmartLead analytics. Returns: campaign_id, message. Required: start_date, end_date. Counts are response-event counts, not distinct leads.
- **Smartlead analytics get campaign status stats** (Get). Get campaign status distribution from SmartLead analytics. Returns: message.
- **Smartlead analytics get client list** (Get). Get a list of SmartLead clients. Returns the client_list array with each client's id and name. Optional: client_ids to filter to specific clients.
- **Smartlead analytics get client performance** (Get). Get client-wise performance analytics from SmartLead within a date range, aggregating campaign stats per client. Returns the client_wise_performance array with client_id, client_name, total_campaigns_count, and campaign_stats (sent, opened, replied, positive_replied, client_health, open_rate, reply_rate, positive_reply_rate, unique_open_count, unique_lead_count). Required: start_date, end_date.
- **Smartlead analytics get month wise client count** (Get). Get month-wise client counts from SmartLead analytics. Returns the monthly_stats array with month and count for each period. Optional: client_ids to filter to specific clients.
- **Smartlead analytics get day wise stats** (Get). Get day-wise overall stats from SmartLead analytics with each metric anchored to its own event date. Returns the day_wise_stats array with date, sent, opened, replied, and bounced per day. Required: start_date, end_date.
- **Smartlead analytics get day wise stats by sent time** (Get). Get day-wise stats from SmartLead analytics with all metrics bucketed by the day emails were sent (sent_time), so opens and replies are attributed to the send date. Returns the day_wise_stats array with date, sent, opened, replied, bounced, unsubscribed, and unique_lead_reached per day. Required: start_date, end_date, timezone.
- **Smartlead analytics get day wise positive reply** (Get). Get day-wise positive reply stats from SmartLead, attributed to the date the reply was received. Returns: message. Required: start_date, end_date.
- **Smartlead analytics get day wise positive reply by sent time** (Get). Get day-wise positive reply stats from SmartLead, attributed to the day the email was sent rather than the reply date. Returns: message. Required: start_date, end_date, timezone.
- **Smartlead analytics get domain wise health** (Get). Get domain-wise mailbox health metrics from SmartLead. Returns: message. Required: start_date, end_date.
- **Smartlead analytics get email wise health** (Get). Get email-account-wise mailbox health metrics from SmartLead. Returns: message. Required: start_date, end_date.
- **Smartlead analytics get mailbox health** (Get). Get overall mailbox health stats from SmartLead. Returns: ok, data.
- **Smartlead analytics get provider performance** (Get). Get email provider-wise overall performance analytics from SmartLead. Returns: message. Required: start_date, end_date.
- **Smartlead analytics get followup reply rate** (Get). Get the follow-up reply rate for SmartLead campaigns. Returns: ok, data, message. Required: start_date, end_date.
- **Smartlead analytics get lead category response** (Get). Get lead response counts broken down by category from SmartLead analytics. Returns: message. Required: start_date, end_date.
- **Smartlead analytics get lead stats** (Get). Get overall lead statistics from SmartLead analytics. Returns: ok, data. Required: start_date, end_date.
- **Smartlead analytics get lead to reply time** (Get). Get lead-to-reply time distribution from SmartLead campaign analytics. Returns: message. Required: start_date, end_date.
- **Smartlead analytics get leads for first reply** (Get). Get the count of leads that took a first reply in SmartLead campaigns within a specified date range. Returns: ok, data, message. Required: start_date, end_date.
- **Smartlead analytics get team board stats** (Get). Get team board overall stats in SmartLead for a date range, including per-member lead counts, campaign counts, reply counts, reply rates, and average reply time. Returns: id, reply_rate, message. Required: start_date, end_date.
- **Smartlead campaign statistics get lead statistics** (Get). Get lead statistics for a Smartlead campaign. Returns: ok, data, message. Required: campaign_id. Max 100 leads per page.
- **Smartlead lead notes get notes** (Get). Get all notes for a lead in Smartlead by lead ID. Returns: message. Required: note_id.
- **Smartlead lead tasks get tasks** (Get). Get tasks for a SmartLead lead by task_id. Returns a list of task records including id, lead_id, name, description, priority, due_date, status, and created_at. Required: task_id.
