Sales Enablement
Smartlead
API integration
Ship Sales Enablement features without building the integration. Full Smartlead API access via Proxy, normalized data through Unified APIs, and 130+ MCP-ready tools for AI agents — all extensible to your exact use case.
Talk to usUse Cases
Why integrate with Smartlead
Common scenarios for SaaS companies building Smartlead integrations for their customers.
Push enriched prospect lists directly into cold outreach campaigns
B2B data and enrichment platforms can let users export curated prospect lists straight into their Smartlead campaigns, mapping enriched fields like tech stack, company size, and AI-generated icebreakers to Smartlead's custom variables — eliminating CSV exports and manual imports.
Trigger automated outreach sequences from real-time intent signals
Intent and signal tracking tools can automatically inject high-intent prospects into live Smartlead campaigns the moment a buying signal is detected, ensuring outreach hits inboxes within minutes of a website visit or content engagement.
Use Smartlead as a headless sending engine for your CRM
Lightweight CRMs that lack native cold email infrastructure can offload all sending, warm-up, and mailbox rotation to Smartlead via API, while keeping the conversation timeline and lead status management inside their own UI through webhook-driven reply routing.
Centralize outbound campaign analytics into a unified dashboard
Revenue intelligence and BI platforms can pull campaign-level metrics like sent count, reply rate, and bounce rate from Smartlead to power cross-channel reporting views, so sales managers never need to leave the primary analytics tool.
Programmatically provision and manage agency client workspaces
SaaS platforms serving lead generation agencies can automate the creation and management of Smartlead client accounts, enabling white-labeled multi-tenant outbound operations at scale without manual setup in the Smartlead UI.
What You Can Build
Ship these features with Truto + Smartlead
Concrete product features your team can ship faster by leveraging Truto’s Smartlead integration instead of building from scratch.
1-Click Export to Smartlead Campaign
Let users select prospects from your app, pick a destination campaign via list_all_smartlead_campaigns, and bulk-inject leads with custom fields and LinkedIn profiles using create_a_smartlead_campaign_lead.
Closed-Loop Reply Routing with Auto-Pause
Register webhooks on Smartlead campaigns to listen for replies, automatically pause the lead's sequence, update their category, and surface the conversation in your app's activity timeline.
Embedded Outbound Campaign Analytics Dashboard
Pull sent, open, reply, and bounce metrics via campaign statistics and top-level analytics endpoints to render real-time outbound performance charts natively inside your product.
Email Deliverability Health Monitor
Surface per-account warmup stats including inbox vs. spam placement, and trigger automatic reconnection of failed email accounts so users can maintain sender reputation without leaving your platform.
Dynamic Lead Status Sync Between CRM and Smartlead
When a lead's status changes in your app — such as booking a meeting or being disqualified — automatically pause, resume, unsubscribe, or re-categorize them in Smartlead to prevent stale follow-ups.
Multi-Client Workspace Provisioning for Agencies
Programmatically create and list Smartlead client workspaces using create_a_smartlead_client, letting agency users manage isolated outbound operations for each of their customers from a single pane of glass.
SuperAI
Smartlead AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_smartlead_campaigns
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 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 a single SmartLead campaign by id with full configuration and lead statistics. Returns: success, data. Required: id.
update_a_smartlead_campaign_by_id
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
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
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 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 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 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 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 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 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
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 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 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 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 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
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
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 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 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 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 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
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 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 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 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
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 all email accounts associated with a SmartLead campaign. Returns: id, type, ok. Required: campaign_id.
create_a_smartlead_campaign_email_account
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
Remove email accounts from a SmartLead campaign by disassociating them. Returns: ok. Required: id, email_account_ids.
list_all_smartlead_campaign_leads
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
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 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
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 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 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
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 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 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
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
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
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
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
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 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 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 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 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
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
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 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 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 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 all webhooks configured for a SmartLead campaign. Returns: success, data. Required: campaign_id.
update_a_smartlead_campaign_webhook_by_id
Update an existing webhook for a SmartLead campaign. Returns: success, data. Required: id, name, webhook_url, event_types.
create_a_smartlead_campaign_webhook
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 a webhook from a SmartLead campaign by id. Returns: success, message, data. Required: id.
smartlead_campaign_webhooks_bulk_delete
Delete a webhook from a SmartLead campaign. Returns: success, message. Required: campaign_id, webhook_id.
smartlead_campaign_webhooks_get_summary
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
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
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
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 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 all whitelabel client sub-accounts in SmartLead for managing and monitoring agency clients. Returns: message.
smartlead_clients_create_api_key
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 all SmartLead client API keys, optionally filtered by client, status, or key name. Returns: ok, data, message.
smartlead_clients_delete_api_key
Delete a SmartLead client API key by id. Returns an empty 204 response on success. Required: api_key_id.
smartlead_clients_reset_api_key
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 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 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
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 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
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 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
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 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 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 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
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 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 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 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
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 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 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
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 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 a new lead list in SmartLead. Returns: ok, data, message. Required: listName.
delete_a_smartlead_lead_list_by_id
Delete a SmartLead lead list by id. Returns: ok, message. Required: id.
get_single_smartlead_lead_list_by_id
Get a single SmartLead lead list by id. Returns: ok, data, message. Required: id.
smartlead_lead_lists_import_leads
Bulk import leads into a SmartLead lead list. Returns: ok, data, message. Required: lead_list_id, leadList, fileName.
list_all_smartlead_lead_lists
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
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 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 the name of a SmartLead lead list by id. Returns: ok, data, message. Required: id, listName.
smartlead_lead_tags_add_tags_to_lead
Add one or more existing tags to a lead in SmartLead. Returns: ok, message. Required: leadId, tagIds.
smartlead_lead_tags_create_tag
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 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
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
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
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 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 a SmartLead campaign webhook by campaign and webhook id. Returns: success, message. Required: campaign_id, webhook_id.
smartlead_campaign_webhooks_get_summary
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
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
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 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 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
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 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
List SmartLead campaigns available for analytics. Returns: id, name, message.
smartlead_analytics_get_campaign_performance
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 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 campaign status distribution from SmartLead analytics. Returns: message.
smartlead_analytics_get_client_list
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 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 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 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 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 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 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 domain-wise mailbox health metrics from SmartLead. Returns: message. Required: start_date, end_date.
smartlead_analytics_get_email_wise_health
Get email-account-wise mailbox health metrics from SmartLead. Returns: message. Required: start_date, end_date.
smartlead_analytics_get_mailbox_health
Get overall mailbox health stats from SmartLead. Returns: ok, data.
smartlead_analytics_get_provider_performance
Get email provider-wise overall performance analytics from SmartLead. Returns: message. Required: start_date, end_date.
smartlead_analytics_get_followup_reply_rate
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 lead response counts broken down by category from SmartLead analytics. Returns: message. Required: start_date, end_date.
smartlead_analytics_get_lead_stats
Get overall lead statistics from SmartLead analytics. Returns: ok, data. Required: start_date, end_date.
smartlead_analytics_get_lead_to_reply_time
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 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 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 lead statistics for a Smartlead campaign. Returns: ok, data, message. Required: campaign_id. Max 100 leads per page.
smartlead_lead_notes_get_notes
Get all notes for a lead in Smartlead by lead ID. Returns: message. Required: note_id.
smartlead_lead_tasks_get_tasks
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.
Why Truto
Why use Truto’s MCP server for Smartlead
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
Unified APIs
Unified APIs for Smartlead
Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.
How It Works
From zero to integrated
Go live with Smartlead in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Smartlead account
Use Truto’s frontend SDK to connect your customer’s Smartlead account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Smartlead
Truto’s Proxy API is a 1-to-1 mapping of the Smartlead API. You call us, we call Smartlead, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Smartlead’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Smartlead on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
What authentication method does the Smartlead integration use?
Smartlead uses API key authentication. Your end users provide their Smartlead API key when connecting their account through Truto's embedded linking flow. Truto securely stores and manages the credential so you never handle raw keys directly.
Can I pass custom fields and personalization variables when adding leads to a campaign?
Yes. The create_a_smartlead_campaign_lead endpoint accepts custom_fields, which you can use to inject AI-generated icebreakers, enrichment data, or any dynamic merge variables that map to your Smartlead email sequences.
How do I listen for replies or status changes in Smartlead campaigns?
You can programmatically register, update, list, and delete webhooks on any campaign using the campaign webhook endpoints. This lets you receive real-time callbacks for events like replies and opens, which you can then process in your app.
Does the integration support pausing, resuming, and unsubscribing individual leads?
Yes. You can pause a lead, resume leads, unsubscribe a lead from a specific campaign, update their category, and even reply to a lead — all through dedicated endpoints. There are also global-level unsubscribe and block endpoints for leads across all campaigns.
What campaign analytics data can I pull through the integration?
You can retrieve top-level campaign analytics, date-range-based campaign statistics, per-campaign statistics, and lead category breakdowns. These include metrics like sent count, reply count, open count, and bounce count.
Does Truto handle pagination and rate limiting for the Smartlead API?
Yes. Truto abstracts away pagination and API-specific quirks like rate limits. You interact with a consistent interface, and Truto handles retries and page traversal behind the scenes so you can focus on building your product features.
From the Blog
Smartlead integration guides
Deep dives, architecture guides, and practical tutorials for building Smartlead integrations.
Smartlead
Get Smartlead integrated into your app
Our team understands what it takes to make a Smartlead integration successful. A short, crisp 30 minute call with folks who understand the problem.