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 40+ 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 campaigns in Smartlead. Returns id, user_id, created_at, updated_at, status, name, track_settings, scheduler_cron_value, min_time_btwn_emails, max_leads_per_day, stop_lead_settings, unsubscribe_text, and client_id for each campaign.
create_a_smartlead_campaign
Create a campaign in Smartlead using required name parameter. Returns ok (operation status), id (campaign identifier), name (campaign name), and created_at (timestamp) in the response.
get_single_smartlead_campaign_by_id
Get details about a specific campaign in Smartlead using id. Returns fields such as id, user_id, status, name, scheduler_cron_value, min_time_btwn_emails, and other campaign settings in the response.
update_a_smartlead_campaign_by_id
Update general settings for a specific campaign in Smartlead using id. Returns ok field indicating success. Requires valid values for track_settings and stop_lead_settings.
delete_a_smartlead_campaign_by_id
Delete a campaign in Smartlead using id. Returns no content in the response.
smartlead_campaigns_top_level_analytics
Get top level analytics for a specific campaign in Smartlead. Requires id. Returns email stats fields such as sent_count, open_count, reply_count, sequence_count, tags, unique_open_count, client_name, campaign_lead_stats, and more in the response.
smartlead_campaigns_export_campaign_leads_csv
Export all leads from a campaign in Smartlead using id. Returns a CSV file with fields such as id, email, status, created_at, custom_fields, is_unsubscribed, is_interested, and engagement counts.
smartlead_campaigns_update_campaign_status
Update status of a campaign in Smartlead. Requires id. Returns success/failure indicating if campaign status was updated.
smartlead_campaigns_update_schedule
Update campaign schedule in Smartlead using id. Updates fields such as timezone, days_of_the_week, start_hour, end_hour, min_time_btw_emails, max_new_leads_per_day, and schedule_start_time. These fields are returned in the response.
list_all_smartlead_email_accounts
List all email accounts in Smartlead used for sending emails to leads. Returns email account details including fields like provider, email, name, and sending status.
create_a_smartlead_email_account
Create a specific email account in Smartlead using id. Returns key fields such as id, from_name, from_email, user_name, smtp_host, smtp_port, imap_host, and imap_port in the response. Requires id in the request body.
get_single_smartlead_email_account_by_id
Get email account details in Smartlead by id. Returns all email details including account_id, account status, and connection settings for the specified id.
update_a_smartlead_email_account_by_id
Update email-accounts in Smartlead. Requires id. Returns updated fields such as max_email_per_day, custom_tracking_url, bcc, signature, client_id, and time_to_wait_in_mins.
smartlead_email_accounts_reconnect_failed_emails
Reconnect failed email-accounts in Smartlead. Returns results for each attempted reconnection, including account identifiers and statuses.
list_all_smartlead_campaign_email_accounts
List all email accounts for a campaign in Smartlead. Requires campaign_id. Returns id, user_id, from_email, smtp details, imap details, type, and daily_sent_count for each account.
create_a_smartlead_campaign_email_account
Add an email account to a campaign in Smartlead. Requires campaign_id. Returns id, email_campaign_id, email_account_id, and updated_at for the linked account.
delete_a_smartlead_campaign_email_account_by_id
Delete an email account from a campaign in Smartlead. Requires campaign_id and id. Returns confirmation of successful removal.
list_all_smartlead_campaign_leads
List all leads for a specific campaign in Smartlead. Requires campaign_id. Returns campaign_lead_map_id, status, created_at, and lead fields such as id, first_name, last_name, email, company_name, and is_unsubscribed.
create_a_smartlead_campaign_lead
Add leads to a campaign in Smartlead using campaign_id. Requires campaign_id. Returns fields for each added lead including first_name, last_name, email, phone_number, company_name, website, location, custom_fields, linkedin_profile, and company_url.
delete_a_smartlead_campaign_lead_by_id
Delete a lead from a campaign in Smartlead. Requires campaign_id and id. Returns ok field in the response to indicate if the operation was successful.
smartlead_campaign_leads_unsubscribe_lead
Unsubscribe a specific campaign-lead from a campaign in Smartlead. Requires campaign_id and id. Returns ok indicating the success status.
smartlead_campaign_leads_pause_lead
Pause a specific campaign-lead in Smartlead. Requires campaign_id and id. Returns confirmation of the lead being paused.
smartlead_campaign_leads_resume_leads
Resume campaign-leads in Smartlead using campaign_id and id. Returns status and updated lead information in the response.
smartlead_campaign_leads_reply_to_lead
Reply to a lead in Smartlead via the Master Inbox API. Requires campaign_id. Returns information on the sent reply, including email_stats_id and reply_message_id.
update_a_smartlead_campaign_lead_by_id
Update a lead in Smartlead using campaign_id and id. Returns updated lead fields, including lead status, contact details, and any changes applied.
smartlead_campaign_leads_update_lead_category
Update a campaign-leads category in Smartlead. Requires campaign_id and id as parameters. Returns the updated category_id and the status of pause_lead in the response.
list_all_smartlead_leads
Get lead details in Smartlead using email. Requires email. Returns id, first_name, last_name, email, created_at, phone_number, company_name, website, location, custom_fields, linkedin_profile, company_url, is_unsubscribed.
smartlead_leads_unsubscribe
Unsubscribe a lead from all campaigns in Smartlead using id. Removes the lead from existing campaigns and blocks from future campaigns. Returns status indicating successful unsubscription.
smartlead_leads_block
Add leads or domains to the global block list in Smartlead. Returns a success/failure response indicating if the operation completed successfully.
list_all_smartlead_lead_campaigns
List all lead-campaigns for a specific lead in Smartlead using id. Returns campaign id, status, and name fields in the response.
list_all_smartlead_campaign_sequences
Get campaign sequence data in Smartlead for a specific campaign_id. Returns id, created_at, updated_at, email_campaign_id, seq_number, subject, email_body, and sequence_variants with their respective fields in the response.
list_all_smartlead_campaign_statistics_by_date
Fetch campaign statistics by campaign_id, start_date, and end_date in Smartlead. Returns fields such as id, user_id, created_at, status, name, sent_count, open_count, click_count, reply_count, block_count, total_count, drafted_count, bounce_count, and unsubscribed_count.
list_all_smartlead_lead_category
List lead categories in Smartlead. Returns id, created_at, and name fields for each lead-category.
list_all_smartlead_campaign_lead_message_history
Get the entire message history for a specific lead in a campaign in Smartlead. Requires campaign_id and id. Returns an array of messages with type, message_id, stats_id, time, email_body, and subject fields.
list_all_smartlead_campaign_statistics
Fetch campaign statistics in Smartlead for a specific campaign using id. Returns fields including lead_name, lead_email, sequence_number, email_subject, sent_time, open_count, click_count, is_unsubscribed, and is_bounced.
list_all_smartlead_campaign_webhooks
List all campaign-webhooks in Smartlead for a specific campaign using campaign_id. Returns id, name, created_at, updated_at, webhook_url, email_campaign_id, event_types, and categories for each webhook.
update_a_smartlead_campaign_webhook_by_id
update a campaign-webhooks resource in Smartlead for a given campaign_id. Requires campaign_id in the path and returns the webhook's id, name, webhook_url, event_types, and categories in the response.
create_a_smartlead_campaign_webhook
Add a campaign webhook in Smartlead. Requires campaign_id. Returns webhook fields including id, name, webhook_url, event_types, and categories.
delete_a_smartlead_campaign_webhook_by_id
Delete a campaign webhook in Smartlead. Requires campaign_id and id. No content is returned in the response upon successful deletion.
get_single_smartlead_email_account_warmup_stat_by_id
Fetch warmup stats for the last 7 days by email account in Smartlead. Requires id. Returns id, sent_count, spam_count, inbox_count, warmup_email_received_count, and stats_by_date with daily stats.
create_a_smartlead_email_account_warmup_setting
Add or update warmup settings for an email account in Smartlead. Requires id. Returns updated warmup_enabled, total_warmup_per_day, daily_rampup, reply_rate_percentage, and warmup_key_id fields in the response.
create_a_smartlead_client
Create a new client in Smartlead. Requires name, email, permission, logo, and password. Returns the created client's id, name, email, permissions, and logo in the response.
list_all_smartlead_clients
Fetch all clients in Smartlead. Returns id, name, email, uuid, created_at, user_id, logo, logo_url, and client_permission fields for each client.
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.
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.
Talk to us