Skip to content

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 us
Smartlead

Use Cases

Why integrate with Smartlead

Common scenarios for SaaS companies building Smartlead integrations for their customers.

01

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.

02

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.

03

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.

04

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.

05

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

Unified Marketing Automation API

Campaigns

The campaign represent a campaign in the remote system.

View Docs

Contacts

The contact represent a contact in the remote system.

View Docs

How It Works

From zero to integrated

Go live with Smartlead in under an hour. No boilerplate, no maintenance burden.

01

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.

02

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.

03

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.

04

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