Smartlead
Let agents run Smartlead campaigns, enroll leads, work the master inbox, keep mailbox warmup healthy and read analytics across agency clients through superagnt_. Connects with a Smartlead API key.
- rest
https://api.superagnt.com/v1/connections/smartleadplus the vendor's own path, with your superagnt_ API key asAuthorization: Bearer.- mcp
- Tools named
connection_smartlead_*onhttps://mcp.superagnt.com/mcp, served once the account is connected. - billing
- Smartlead bills your own account. Calls cost no superagnt_ data credits.
- rate limit
- 1 requests a second, 60 a minute: the vendor's ceiling as the registry records it, for sizing bursts. Your plan's own limit is on Connections.
- vendor docs
- https://api.smartlead.ai/api-reference
- sync
- Can copy 8 tables into your workspace database and keep them fresh: the tables.
The Smartlead connection lets an agent run cold email on the Smartlead account your team already sends from. It builds and runs campaigns (email steps with A/B variants, schedule, tracking, stop conditions and sender mailboxes), enrolls and manages campaign leads, and works the master inbox: reading replies, categorizing them, replying, forwarding and moving leads into subsequences. It also keeps mailbox warmup healthy, manages lead lists, lead categories, tags, notes and the block list, reads analytics per campaign, mailbox and agency client, and registers webhooks.
01
Setup
- Copy the account owner's API key. In Smartlead open Settings, activate the API if it is off, and copy the API key. Use the account owner's own key, not a client API key: a client key only sees that one client, and Smartlead refuses it on some calls (searching a campaign's leads, assigning a campaign to a client).
- Connect Smartlead. In the superagnt app open Integrations, pick Smartlead, paste the key and press Connect.
02
Plans and limits
- Smartlead's API and webhooks need the Pro plan or higher.
- Smartlead's docs disagree on its rate limits: plan for 60 calls a minute and 1,000 an hour per key.
list_lead_activitiesandget_campaign_lead_statisticsalso have their own limit of 10 calls a minute per account, which Smartlead answers with a plain-text 429 without rate-limit headers: wait a minute, then retry.
03
Things to know
- Smartlead takes the key as an
api_keyquery parameter. superagnt_ stores it encrypted, adds it to every call itself so no tool takes one, and never writes it to a log or usage record. - Smartlead's docs disagree with themselves in places (request shapes, value names, webhook event names). These tools follow Smartlead's API reference, and a tool's description names the other form where an agent may need it. For example,
update_campaign_schedulesends the schedule nested underschedule, and tells the agent to retry with the flat fields from Smartlead's help center if Smartlead answers 400 naming a missing field. - An account-level (user) webhook silently disables every client- and campaign-level webhook on the account, which can break integrations you already run.
create_webhookasks a person by default. - Smartlead refuses changes to a campaign's email steps while it is
ACTIVE. Pause it first withupdate_campaign_status, an Always ask operation. - Analytics unique counts and rates hold only for the exact period asked and cannot be added up across days: query the whole period. Re-categorizing a lead rewrites past positive-reply numbers.
- There is no call that lists every lead on the account. Leads are listed per campaign, and lead lists return metadata only.
- The connection's tools and operations do not cover SmartDelivery, SmartProspect, SmartSenders or SmartServers; client API keys; adding mailboxes or changing their SMTP or IMAP passwords or OAuth tokens; the mailbox reads that return passwords (listing all mailboxes, getting one by id or address, a campaign's mailbox list); the bulk message-history route; whitelabel code snippets; or warmup-unblock codes.
Agency clients
- Smartlead clients are whitelabel sub-accounts inside your Smartlead account. A workspace holds one Smartlead connection, and with the account owner's key it reaches every client: a list tool called without
client_idcovers the whole account. - To work on one client, pass
client_idto the tools that take it, such aslist_campaignsandget_campaign_mailbox_statistics, or comma-separatedclient_idsto the account analytics tools.get_client_performancecompares clients side by side.
Ids
- A lead has one lead id across the whole account.
get_lead_by_emailfinds it, with every campaign the lead is in. - Each enrollment of a lead in a campaign has its own lead map id (
campaign_lead_map_id, also calledemail_lead_map_id). The master inbox is keyed by it, and so are adding a note, marking a conversation read, categorizing it in the inbox, marking a lead complete and moving a lead into a subsequence. Each tool says which id it takes. - Mailbox ids come from
lookup_email_accounts(by address) or theemail_account.idon master inbox items.
Pagination and history
list_campaign_leadsreturns up to 100 leads per page (offsetandlimit).export_campaign_leadsreturns a whole campaign as CSV in one call.list_lead_activitiesreturns up to 1,000 leads per call, andget_campaign_statisticsup to 1,000 emails per page.- The master inbox reply lists (
list_inbox_replies,list_unread_replies) return 20 conversations per page. - Warmup stats cover the last 7 days only: snapshot them daily to keep history.
get_campaign_analytics_by_datecovers at most 30 days per call, and a wider range is a 400.
04
Permissions
Each operation starts with a default level. A deployed agent pauses for a person's approval before an Ask or Always ask operation and runs an Act operation straight away. A person can change any level per tool, for one agent or for the whole workspace: see Permissions.
- Always ask: starting, pausing, stopping or archiving a campaign; replying to a lead, forwarding an email and sending a test email; unsubscribing a lead from one campaign or from all of them; deleting a campaign, a mailbox, a webhook, a lead list or a lead category; removing a lead or mailboxes from a campaign; unblocking a block list entry; and untagging campaigns, a lead or mailboxes.
- Ask: adding leads to a campaign or pushing leads into one, resuming a lead, marking a lead complete, moving a lead into a subsequence, creating or changing a webhook, resending failed webhook events, assigning a campaign to an agency client, and creating or updating an agency client.
- Act: every other operation, every read included. Some of these change how a running campaign sends, such as its settings, its schedule and its sender mailboxes: set them to Ask if an agent should check first.
05
Examples
List one client's campaigns
curl "https://api.superagnt.com/v1/connections/smartlead/campaigns/?client_id=42" \
-H "Authorization: Bearer $AGNTDATA_API_KEY"Read new replies from the master inbox
curl -X POST "https://api.superagnt.com/v1/connections/smartlead/master-inbox/unread-replies" \
-H "Authorization: Bearer $AGNTDATA_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "limit": 20, "sortBy": "REPLY_TIME_DESC" }'Find a lead by email
curl "https://api.superagnt.com/v1/connections/smartlead/leads/?email=ada@example.com" \
-H "Authorization: Bearer $AGNTDATA_API_KEY"The response carries the lead's id and, in lead_campaign_data, every campaign the lead is in with its campaign_lead_map_id. It is an empty object when no lead has that address.
Enroll leads in a campaign
curl -X POST "https://api.superagnt.com/v1/connections/smartlead/campaigns/123/leads" \
-H "Authorization: Bearer $AGNTDATA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"lead_list": [
{ "email": "ada@example.com", "first_name": "Ada", "company_name": "Analytical Engines" }
]
}'If the campaign is running, these leads start getting its emails on its schedule, which is why add_campaign_leads asks a person by default. Smartlead skips leads that are on the block list, unsubscribed, on its shared bounce list or already in another campaign unless settings lets them in, and the response counts the added and skipped leads with reasons.
06
Receiving Smartlead webhooks
Create a webhook with create_webhook for the events you care about, such as EMAIL_SENT, EMAIL_OPEN, EMAIL_LINK_CLICK, EMAIL_REPLY, EMAIL_BOUNCE, LEAD_UNSUBSCRIBED or LEAD_CATEGORY_UPDATED, at the account, client or campaign level, and point it at a superagnt_ inbound webhook endpoint to trigger an agent. A webhook sends lead data, reply bodies included. Smartlead does not sign its deliveries, so leave the endpoint's signature verification off and keep its URL secret.
Smartlead keeps no per-delivery log: get_campaign_webhook_summary counts a campaign's successful and failed deliveries in a time window, and retrigger_campaign_webhooks resends the failed ones, so a receiver that already handled an event can get it twice. No call lists account- or client-level webhooks, so keep the id create_webhook returns.
07
Sync
A Smartlead sync copies your account (every agency client, or the ones you pick) into your workspace database. Turn it on from the Sync panel on the Smartlead connection page in the superagnt app. The panel previews the rows and webhook events against your plan before anything is created, and agnt_sync_catalog lists every table and column. How syncs work in general: Vendor sync.
How updates arrive. The sync registers webhooks for replies, category changes, unsubscribes and bounces: one per agency client with a running (active or paused) campaign, plus one per running campaign that has no client, or one per selected running campaign when you filter by campaign. A reply, unsubscribe or bounce makes the sync pull the latest lead activity and re-read that campaign's recent leads; a category change re-reads the campaign's leads in the new category. Sends, opens, clicks and untracked replies arrive by polling unless you switch them to webhooks in Customize. Filters: agency clients and campaigns.
Your existing webhooks are left alone.
- The sync never registers an account-level webhook, because Smartlead switches off every client- and campaign-level webhook while one exists.
- If your account already has an account-level webhook from another tool, the sync keeps no webhooks of its own and polls everything.
- A client or campaign that already has another tool's webhook polls instead, and that webhook keeps working.
- At most 50 Smartlead webhooks per sync; clients and campaigns beyond that poll.
Plans and limits. The sync calls Smartlead's API, so it needs the same Pro plan or higher. It shares your key's request limits, and the activity feed's tighter one, with your agents' Smartlead calls, so it paces itself well under them.
What a Smartlead sync copies
A sync copies these tables into your workspace database and keeps them fresh, so an agent reads local rows instead of calling Smartlead on every run. Turn tables on and off from the Sync panel on the connection. Every table also carries _raw, _hash, _synced_at and _deleted_at. How syncs work: Vendor sync.
beta
_raw column.| Table | What it holds | Default |
|---|---|---|
smartlead_clientsClients | The agency client sub-accounts on the Smartlead account, re-read daily. | on |
smartlead_campaignsCampaigns | Every campaign with its status and client, re-read every hour. Each pass also brings in the leads of running campaigns, and once a day the email steps and daily stats. | on |
smartlead_sequence_stepsEmail steps | The email steps of each synced campaign in order, with subject lines and A/B variants, re-read daily. | on |
smartlead_email_accountsMailboxes | The sending mailboxes with their connection, warmup and daily volume, re-read every hour. SMTP and IMAP passwords are never stored. | on |
smartlead_campaign_leadsCampaign leads | One row per lead in each campaign with its status and category, kept current by reply and category webhooks and an hourly read of running campaigns. | on |
smartlead_lead_activitiesLead activity | One row per email sent to a lead and per reply received, across every campaign. Open and click counts ride on the sent rows. Kept for 90 days by default. | on |
smartlead_campaign_daily_statsCampaign daily stats | Per running campaign and day: emails sent, opens, clicks, replies, bounces and unsubscribes. The last 7 days are re-read daily because counts land late. Kept for 90 days by default. | on |
smartlead_lead_categoriesLead categories | The global and custom lead categories (Interested, Meeting Request, ...), re-read daily. | on |
28 tools, one per resource and risk
MCP servers and agents on the grouped surface list Smartlead as these tools. Each takes an action, and the ones that work across record types an object. Every operation also keeps its own per-operation name, in the next table, which works on every server. How grouping works: Grouped tools.
| Tool | Risk | Actions |
|---|---|---|
connection_smartlead_campaigns_readRead Smartlead campaigns List every campaign in one call (client_id for one agency client's), get one campaign's full configuration, or read its email steps with the step ids an update needs. Subsequences are campaigns too, with parent_campaign_id set. | read | listgetsteps |
connection_smartlead_campaigns_writeCreate and run Smartlead campaigns Create a campaign, change its settings, schedule or email steps, start, pause, stop or archive it, copy it, add a subsequence, or move it to an agency client. START emails every enrolled lead on the campaign's schedule, and STOPPED ends a campaign for good. Smartlead refuses step changes while a campaign is ACTIVE: pause it first. Leads: connection_smartlead_leads_write; sender mailboxes: connection_smartlead_mailboxes_write. | write | createupdate_settingsupdate_schedulesave_stepsset_statusduplicatecreate_subsequenceassign_client |
connection_smartlead_campaigns_deleteDelete a Smartlead campaign Permanently delete a campaign with its steps, lead enrollments, statistics, webhooks and conversation history. To keep its data, archive it instead: connection_smartlead_campaigns_write action "set_status" with ARCHIVED. | destructive | delete |
connection_smartlead_leads_readRead Smartlead leads Read a campaign's leads (list by status, engagement or category, search by text, or export them all as CSV), find a lead across the account by email or id, read its notes, or page through lead activity across every campaign. A lead's campaign_lead_map_id is its enrollment id, which the inbox tools and some lead actions take. | read | listsearchexportfind_by_emailgetnotesactivity |
connection_smartlead_leads_writeEnroll and manage Smartlead leads Enroll leads in a campaign, update a lead's fields, set its category, pause, resume or complete it, unsubscribe it from one campaign or from all of them, or add a note. Leads added to a running campaign, and resumed leads, get its emails on the schedule; an unsubscribe cannot be undone through the API. Pushing a lead list into a campaign: connection_smartlead_push_leads_to_campaign. | write | addupdateset_categorypauseresumecompleteunsubscribeunsubscribe_everywhereadd_note |
connection_smartlead_leads_deleteRemove a lead from a Smartlead campaign Remove a lead from a campaign, which stops its emails there. A lead in no other campaign is deleted from the account entirely. Cannot be undone. | destructive | remove |
connection_smartlead_emails_sendSend Smartlead emails Reply to a lead in its thread, forward a campaign email with its thread, or send one campaign step as a test email. Each one sends a real email, so get the user's sign-off first; on a deployed agent, each asks for approval by default. A test without customEmailAddress goes to the lead itself. | write | replyforwardsend_test |
connection_smartlead_campaign_stats_readRead Smartlead campaign statistics One campaign's results: lifetime totals, totals for a date range of 30 days or less, and results per email sent, per lead, per sender mailbox and per step with its A/B variants. | read | totalsby_dateper_emailper_leadper_mailboxper_step |
connection_smartlead_analytics_readRead Smartlead account analytics Account-wide results for a period (start_date, end_date): totals, totals per day, and results per campaign, agency client, lead category or sender mailbox, optionally only for some clients and campaigns. Unique counts and rates hold only for the exact period asked: query the whole period rather than adding up days. | read | totalsby_dayby_campaignby_clientby_categoryby_mailbox |
connection_smartlead_inbox_readRead the Smartlead master inbox Read lead replies across campaigns (all, or only unread), one conversation, a lead's email thread in a campaign with the ids a reply or forward needs, emails that match no campaign lead, or whether a sent reply went out. An inbox item's campaign_lead_map_id is the id connection_smartlead_inbox_write takes. | read | repliesunreadgetthreaduntrackedreply_status |
connection_smartlead_inbox_writeTriage the Smartlead master inbox Mark a conversation read or unread, set the category of the lead behind it, or move that lead into a subsequence of its campaign, which starts emailing the lead. Replying: connection_smartlead_emails_send. | write | mark_readset_categorymove_to_subsequence |
connection_smartlead_webhooks_readRead Smartlead webhooks List one campaign's webhooks, get a webhook by id, or total a campaign's webhook deliveries in a time window. No call lists account- or client-level webhooks: keep the id that create returns. | read | listgetdelivery_summary |
connection_smartlead_webhooks_writeCreate and change Smartlead webhooks Register a URL for the events of the whole account, one agency client or one campaign, change a webhook, or resend a campaign's failed events. A webhook receives lead data, reply bodies included. An account-level (user) webhook silently disables every client- and campaign-level webhook on the account, so check with the user before creating one. | write | createupdateretrigger_failed |
connection_smartlead_webhooks_deleteDelete a Smartlead webhook Delete a webhook; Smartlead stops sending its events. | destructive | delete |
connection_smartlead_tags_readRead Smartlead tags and lead categories List the tags on the account (they label mailboxes, campaigns, lead lists and leads), the tags on one lead with the mapping ids an untag needs, or the global and custom lead categories with their ids. | read | listlead_tagscategories |
connection_smartlead_tags_writeCreate and apply Smartlead tags and lead categories Create a tag or a custom lead category, or tag campaigns, a lead or mailboxes. Tagged mailboxes can join a campaign together: connection_smartlead_mailboxes_write action "add_to_campaign_by_tag". | write | createcreate_categorytag_campaignstag_leadtag_mailboxes |
connection_smartlead_tags_deleteUntag in Smartlead or delete a lead category Remove tags from campaigns, a lead or mailboxes (the tags themselves are kept), or delete a custom lead category, which Smartlead refuses while any lead has it. | destructive | untag_campaignsuntag_leaduntag_mailboxesdelete_category |
connection_smartlead_block_list_readRead the Smartlead block list List the blocked email addresses and domains that no campaign emails, with where each came from and its client, up to 1,000 per page. | read | list |
connection_smartlead_block_list_writeBlock emails and domains in Smartlead Block email addresses or whole domains so no campaign emails them, account-wide or for one agency client (client_id). | write | block |
connection_smartlead_block_list_deleteUnblock an email or domain in Smartlead Remove one block list entry by id, so campaigns may email that address or domain again. | destructive | unblock |
connection_smartlead_lead_lists_readRead Smartlead lead lists List lead lists (leads kept outside campaigns until pushed into one) by name or tag, or get one list's metadata. No call reads the leads inside a list. | read | listget |
connection_smartlead_lead_lists_writeCreate and fill Smartlead lead lists Create an empty lead list, or import leads into one (each needs an email). Nothing is sent: a list holds leads until connection_smartlead_push_leads_to_campaign copies or moves them into a campaign. | write | createimport |
connection_smartlead_lead_lists_deleteDelete a Smartlead lead list Delete a lead list. Cannot be undone. | destructive | delete |
connection_smartlead_mailboxes_readRead Smartlead sender mailboxes Look up sender mailboxes by email address for their ids and tags (the only way to get mailbox ids), or read a mailbox's warmup results for the last 7 days. Sending results per mailbox: connection_smartlead_analytics_read action "by_mailbox". | read | findwarmup_stats |
connection_smartlead_mailboxes_writeConfigure Smartlead mailboxes and campaign senders Change a mailbox's limits, sender name, signature or client, suspend or resume it, set its warmup, add mailboxes to a campaign's sender rotation (by id or by tag), or move a campaign's leads off mailboxes removed from it. Smartlead does not check that an added mailbox is connected. | write | updateupdate_warmupadd_to_campaignadd_to_campaign_by_tagreallocate_leads |
connection_smartlead_mailboxes_deleteDelete or detach Smartlead mailboxes Delete a sender mailbox (it leaves every campaign and its warmup stops; cannot be undone), or take mailboxes out of a campaign's rotation and keep them. Leads on a removed mailbox stay on it until connection_smartlead_mailboxes_write action "reallocate_leads" moves them. | destructive | deleteremove_from_campaign |
connection_smartlead_clients_readRead Smartlead agency clients List the account's whitelabel client sub-accounts, or get one, optionally with its permissions and assigned credits. Most read tools take client_id to scope to one client. | read | listget |
connection_smartlead_clients_writeCreate or update a Smartlead agency client Create a whitelabel client sub-account, or update one by id (an update replaces restrictedCategory and needs email and name again). Creating a client can add to the Smartlead bill, since client seats are a paid add-on on most plans. It never sets a login password. | write | save |
All 93 operations
Each operation is a REST path under https://api.superagnt.com/v1/connections/smartlead and an MCP tool. The per-operation tool name is the one permissions, approvals and usage records use.
| Operation | MCP tool |
|---|---|
GET /campaigns/List campaigns | connection_smartlead_list_campaignsgrouped: connection_smartlead_campaigns_read, action list |
POST /campaigns/createCreate a campaign | connection_smartlead_create_campaigngrouped: connection_smartlead_campaigns_write, action create |
GET /campaigns/{campaign_id}Get a campaign | connection_smartlead_get_campaigngrouped: connection_smartlead_campaigns_read, action get |
DELETE /campaigns/{campaign_id}Delete a campaign | connection_smartlead_delete_campaigngrouped: connection_smartlead_campaigns_delete, action delete |
POST /campaigns/{campaign_id}/statusStart, pause, stop or archive a campaign | connection_smartlead_update_campaign_statusgrouped: connection_smartlead_campaigns_write, action set_status |
POST /campaigns/{campaign_id}/settingsUpdate campaign settings | connection_smartlead_update_campaign_settingsgrouped: connection_smartlead_campaigns_write, action update_settings |
POST /campaigns/{campaign_id}/scheduleSet the sending schedule | connection_smartlead_update_campaign_schedulegrouped: connection_smartlead_campaigns_write, action update_schedule |
GET /campaigns/{campaign_id}/sequencesGet the campaign's email steps | connection_smartlead_get_campaign_sequencesgrouped: connection_smartlead_campaigns_read, action steps |
POST /campaigns/{campaign_id}/sequencesCreate or update the campaign's email steps | connection_smartlead_save_campaign_sequencesgrouped: connection_smartlead_campaigns_write, action save_steps |
POST /campaigns/{campaign_id}/duplicateDuplicate a campaign | connection_smartlead_duplicate_campaigngrouped: connection_smartlead_campaigns_write, action duplicate |
POST /campaigns/create-subsequenceCreate a subsequence | connection_smartlead_create_subsequencegrouped: connection_smartlead_campaigns_write, action create_subsequence |
POST /campaigns/assign-clientAssign a campaign to an agency client | connection_smartlead_assign_campaign_clientgrouped: connection_smartlead_campaigns_write, action assign_client |
POST /campaigns/tagsTag campaigns | connection_smartlead_add_campaign_tagsgrouped: connection_smartlead_tags_write, action tag_campaigns |
DELETE /campaigns/tagsUntag campaigns | connection_smartlead_remove_campaign_tagsgrouped: connection_smartlead_tags_delete, action untag_campaigns |
POST /campaigns/{campaign_id}/email-accountsAdd sender mailboxes to a campaign | connection_smartlead_add_campaign_email_accountsgrouped: connection_smartlead_mailboxes_write, action add_to_campaign |
DELETE /campaigns/{campaign_id}/email-accountsRemove sender mailboxes from a campaign | connection_smartlead_remove_campaign_email_accountsgrouped: connection_smartlead_mailboxes_delete, action remove_from_campaign |
POST /campaigns/{campaign_id}/email-accounts/by-tagAdd every mailbox with a tag to a campaign | connection_smartlead_add_campaign_email_accounts_by_taggrouped: connection_smartlead_mailboxes_write, action add_to_campaign_by_tag |
POST /campaigns/{campaign_id}/reallocate-mailboxesMove leads off removed mailboxes | connection_smartlead_reallocate_campaign_mailboxesgrouped: connection_smartlead_mailboxes_write, action reallocate_leads |
POST /campaigns/{campaign_id}/send-test-emailSend a test email | connection_smartlead_send_campaign_test_emailgrouped: connection_smartlead_emails_send, action send_test |
GET /campaigns/{campaign_id}/leadsList a campaign's leads | connection_smartlead_list_campaign_leadsgrouped: connection_smartlead_leads_read, action list |
POST /campaigns/{campaign_id}/leadsAdd leads to a campaign | connection_smartlead_add_campaign_leadsgrouped: connection_smartlead_leads_write, action add |
POST /campaigns/{campaign_id}/leads/filterSearch a campaign's leads | connection_smartlead_search_campaign_leadsgrouped: connection_smartlead_leads_read, action search |
GET /campaigns/{campaign_id}/leads-exportExport a campaign's leads as CSV | connection_smartlead_export_campaign_leadsgrouped: connection_smartlead_leads_read, action export |
POST /campaigns/{campaign_id}/leads/{lead_id}Update a lead's fields | connection_smartlead_update_campaign_leadgrouped: connection_smartlead_leads_write, action update |
DELETE /campaigns/{campaign_id}/leads/{lead_id}Remove a lead from a campaign | connection_smartlead_delete_campaign_leadgrouped: connection_smartlead_leads_delete, action remove |
POST /campaigns/{campaign_id}/leads/{lead_id}/pausePause a lead | connection_smartlead_pause_campaign_leadgrouped: connection_smartlead_leads_write, action pause |
POST /campaigns/{campaign_id}/leads/{lead_id}/resumeResume a lead | connection_smartlead_resume_campaign_leadgrouped: connection_smartlead_leads_write, action resume |
POST /campaigns/{campaign_id}/leads/{lead_id}/unsubscribeUnsubscribe a lead from a campaign | connection_smartlead_unsubscribe_campaign_leadgrouped: connection_smartlead_leads_write, action unsubscribe |
POST /campaigns/{campaign_id}/leads/{lead_id}/categorySet a lead's category | connection_smartlead_update_campaign_lead_categorygrouped: connection_smartlead_leads_write, action set_category |
POST /campaigns/{campaign_id}/leads/{lead_map_id}/manual-completeMark a lead complete | connection_smartlead_complete_campaign_leadgrouped: connection_smartlead_leads_write, action complete |
GET /campaigns/{campaign_id}/leads/{lead_id}/message-historyGet the email thread with a lead | connection_smartlead_get_lead_message_historygrouped: connection_smartlead_inbox_read, action thread |
POST /campaigns/{campaign_id}/reply-email-threadReply to a lead | connection_smartlead_reply_to_leadgrouped: connection_smartlead_emails_send, action reply |
POST /campaigns/{campaign_id}/forward-emailForward a campaign email | connection_smartlead_forward_emailgrouped: connection_smartlead_emails_send, action forward |
GET /campaigns/all-leads-activitiesList lead activity across campaigns | connection_smartlead_list_lead_activitiesgrouped: connection_smartlead_leads_read, action activity |
GET /campaigns/{campaign_id}/statisticsGet per-email campaign statistics | connection_smartlead_get_campaign_statisticsgrouped: connection_smartlead_campaign_stats_read, action per_email |
GET /campaigns/{campaign_id}/analyticsGet campaign totals | connection_smartlead_get_campaign_analyticsgrouped: connection_smartlead_campaign_stats_read, action totals |
GET /campaigns/{campaign_id}/analytics-by-dateGet campaign totals for a date range | connection_smartlead_get_campaign_analytics_by_dategrouped: connection_smartlead_campaign_stats_read, action by_date |
GET /campaigns/{campaign_id}/leads-statisticsGet per-lead campaign statistics | connection_smartlead_get_campaign_lead_statisticsgrouped: connection_smartlead_campaign_stats_read, action per_lead |
GET /campaigns/{campaign_id}/mailbox-statisticsGet per-mailbox campaign statistics | connection_smartlead_get_campaign_mailbox_statisticsgrouped: connection_smartlead_campaign_stats_read, action per_mailbox |
GET /campaigns/{campaign_id}/sequence-analyticsGet per-step campaign statistics | connection_smartlead_get_campaign_sequence_analyticsgrouped: connection_smartlead_campaign_stats_read, action per_step |
GET /campaigns/{campaign_id}/webhooksList a campaign's webhooks | connection_smartlead_list_campaign_webhooksgrouped: connection_smartlead_webhooks_read, action list |
GET /campaigns/{campaign_id}/webhooks/summarySummarize a campaign's webhook deliveries | connection_smartlead_get_campaign_webhook_summarygrouped: connection_smartlead_webhooks_read, action delivery_summary |
POST /campaigns/{campaign_id}/webhooks/retrigger-failed-eventsResend failed webhook events | connection_smartlead_retrigger_campaign_webhooksgrouped: connection_smartlead_webhooks_write, action retrigger_failed |
POST /webhook/createCreate a webhook | connection_smartlead_create_webhookgrouped: connection_smartlead_webhooks_write, action create |
GET /webhook/{webhook_id}Get a webhook | connection_smartlead_get_webhookgrouped: connection_smartlead_webhooks_read, action get |
PUT /webhook/update/{webhook_id}Update a webhook | connection_smartlead_update_webhookgrouped: connection_smartlead_webhooks_write, action update |
DELETE /webhook/deleteDelete a webhook | connection_smartlead_delete_webhookgrouped: connection_smartlead_webhooks_delete, action delete |
GET /leads/Find a lead by email | connection_smartlead_get_lead_by_emailgrouped: connection_smartlead_leads_read, action find_by_email |
GET /leads/{lead_id}Get a lead | connection_smartlead_get_leadgrouped: connection_smartlead_leads_read, action get |
POST /leads/{lead_id}/unsubscribeUnsubscribe a lead from every campaign | connection_smartlead_unsubscribe_lead_globallygrouped: connection_smartlead_leads_write, action unsubscribe_everywhere |
GET /leads/fetch-categoriesList lead categories | connection_smartlead_list_lead_categoriesgrouped: connection_smartlead_tags_read, action categories |
POST /leads/categoriesCreate a lead category | connection_smartlead_create_lead_categorygrouped: connection_smartlead_tags_write, action create_category |
DELETE /leads/categories/{category_id}Delete a lead category | connection_smartlead_delete_lead_categorygrouped: connection_smartlead_tags_delete, action delete_category |
GET /leads/get-domain-block-listList the block list | connection_smartlead_list_block_listgrouped: connection_smartlead_block_list_read, action list |
POST /leads/add-domain-block-listBlock emails or domains | connection_smartlead_add_to_block_listgrouped: connection_smartlead_block_list_write, action block |
DELETE /leads/delete-domain-block-listUnblock an email or domain | connection_smartlead_delete_block_list_entrygrouped: connection_smartlead_block_list_delete, action unblock |
GET /crm/leads/tagsList lead tags | connection_smartlead_list_lead_tagsgrouped: connection_smartlead_tags_read, action lead_tags |
POST /crm/leads/tagsTag a lead | connection_smartlead_add_lead_tagsgrouped: connection_smartlead_tags_write, action tag_lead |
DELETE /crm/leads/tags/{tag_mapping_id}Untag a lead | connection_smartlead_remove_lead_taggrouped: connection_smartlead_tags_delete, action untag_lead |
GET /crm/leads/notes/{lead_id}List a lead's notes | connection_smartlead_list_lead_notesgrouped: connection_smartlead_leads_read, action notes |
POST /master-inbox/create-noteAdd a note to a lead | connection_smartlead_create_lead_notegrouped: connection_smartlead_leads_write, action add_note |
GET /lead-list/List lead lists | connection_smartlead_list_lead_listsgrouped: connection_smartlead_lead_lists_read, action list |
POST /lead-list/Create a lead list | connection_smartlead_create_lead_listgrouped: connection_smartlead_lead_lists_write, action create |
GET /lead-list/{list_id}Get a lead list | connection_smartlead_get_lead_listgrouped: connection_smartlead_lead_lists_read, action get |
DELETE /lead-list/{list_id}Delete a lead list | connection_smartlead_delete_lead_listgrouped: connection_smartlead_lead_lists_delete, action delete |
POST /lead-list/{list_id}/importImport leads into a list | connection_smartlead_import_leads_to_listgrouped: connection_smartlead_lead_lists_write, action import |
POST /leads/push-to-campaignPush leads into a campaign | connection_smartlead_push_leads_to_campaigngrouped servers list it under this name |
POST /master-inbox/inbox-repliesList replies | connection_smartlead_list_inbox_repliesgrouped: connection_smartlead_inbox_read, action replies |
POST /master-inbox/unread-repliesList unread replies | connection_smartlead_list_unread_repliesgrouped: connection_smartlead_inbox_read, action unread |
GET /master-inbox/{lead_map_id}Get a conversation | connection_smartlead_get_inbox_itemgrouped: connection_smartlead_inbox_read, action get |
GET /master-inbox/untracked-repliesList untracked replies | connection_smartlead_list_untracked_repliesgrouped: connection_smartlead_inbox_read, action untracked |
GET /master-inbox/reply-statusCheck a reply's delivery | connection_smartlead_get_reply_statusgrouped: connection_smartlead_inbox_read, action reply_status |
PATCH /master-inbox/change-read-statusMark a conversation read or unread | connection_smartlead_change_read_statusgrouped: connection_smartlead_inbox_write, action mark_read |
PATCH /master-inbox/update-categoryCategorize a conversation | connection_smartlead_update_inbox_lead_categorygrouped: connection_smartlead_inbox_write, action set_category |
POST /master-inbox/push-to-subsequenceMove a lead into a subsequence | connection_smartlead_push_lead_to_subsequencegrouped: connection_smartlead_inbox_write, action move_to_subsequence |
POST /email-accounts/tag-listLook up mailboxes by address | connection_smartlead_lookup_email_accountsgrouped: connection_smartlead_mailboxes_read, action find |
GET /email-accounts/{email_account_id}/warmup-statsGet a mailbox's warmup stats | connection_smartlead_get_warmup_statsgrouped: connection_smartlead_mailboxes_read, action warmup_stats |
POST /email-accounts/{email_account_id}Update a mailbox's settings | connection_smartlead_update_email_accountgrouped: connection_smartlead_mailboxes_write, action update |
DELETE /email-accounts/{email_account_id}Delete a mailbox | connection_smartlead_delete_email_accountgrouped: connection_smartlead_mailboxes_delete, action delete |
POST /email-accounts/{email_account_id}/warmupUpdate a mailbox's warmup | connection_smartlead_update_warmup_settingsgrouped: connection_smartlead_mailboxes_write, action update_warmup |
GET /email-accounts/tagsList tags | connection_smartlead_list_tagsgrouped: connection_smartlead_tags_read, action list |
POST /tagsCreate a tag | connection_smartlead_create_taggrouped: connection_smartlead_tags_write, action create |
POST /email-accounts/tag-mappingTag mailboxes | connection_smartlead_assign_email_account_tagsgrouped: connection_smartlead_tags_write, action tag_mailboxes |
DELETE /email-accounts/tag-mappingUntag mailboxes | connection_smartlead_remove_email_account_tagsgrouped: connection_smartlead_tags_delete, action untag_mailboxes |
GET /client/List agency clients | connection_smartlead_list_clientsgrouped: connection_smartlead_clients_read, action list |
GET /client/{client_id}Get an agency client | connection_smartlead_get_clientgrouped: connection_smartlead_clients_read, action get |
POST /client/saveCreate or update an agency client | connection_smartlead_save_clientgrouped: connection_smartlead_clients_write, action save |
GET /analytics/overall-stats-v2Get account totals | connection_smartlead_get_overall_statsgrouped: connection_smartlead_analytics_read, action totals |
GET /analytics/day-wise-overall-statsGet account totals by day | connection_smartlead_get_day_wise_statsgrouped: connection_smartlead_analytics_read, action by_day |
GET /analytics/campaign/overall-statsCompare campaigns | connection_smartlead_get_campaign_performancegrouped: connection_smartlead_analytics_read, action by_campaign |
GET /analytics/client/overall-statsCompare agency clients | connection_smartlead_get_client_performancegrouped: connection_smartlead_analytics_read, action by_client |
GET /analytics/lead/category-wise-responseCount replies by category | connection_smartlead_get_lead_category_responsegrouped: connection_smartlead_analytics_read, action by_category |
GET /analytics/mailbox/name-wise-health-metricsGet per-mailbox health | connection_smartlead_get_mailbox_healthgrouped: connection_smartlead_analytics_read, action by_mailbox |