Smartlead
OutreachSmartlead is a cold email outreach platform that enables B2B sales and marketing teams to run high-volume, multi-channel campaigns using unlimited mailboxes, AI-powered personalization, and automated follow-up sequences. It centralizes campaign management, lead tracking, and inbox warming across multiple sending accounts to maximize deliverability and reply rates. Smartlead integrates with CRMs, data enrichment tools, and automation platforms to fit into modern GTM stacks.
Overview
Capabilities
Unlimited Mailbox Rotation and Warmup
Smartlead allows you to connect an unlimited number of sending mailboxes — Google Workspace, Microsoft Outlook, or any SMTP-compatible account — and automatically rotates sends across them. This prevents any single domain from hitting spam thresholds and extends your daily sending capacity without sacrificing deliverability. The built-in warmup feature simulates organic email activity on new accounts by sending and responding to emails within Smartlead's warmup network, gradually increasing sending volume to establish sender reputation before live campaign sends begin. For GTM teams scaling from dozens to thousands of outbound emails per day, this infrastructure capability alone is a primary reason to choose Smartlead over single-mailbox alternatives.
Multi-Step Campaign Sequences with Conditional Logic
Smartlead's campaign builder supports multi-step email sequences with branching logic based on lead behavior. You can configure sequences to skip follow-up steps if a lead has already replied, send different messaging based on whether a prior email was opened, or escalate to a different sequence after a set number of touchpoints with no response. Each step supports dynamic personalization variables pulled from your lead list fields, including custom columns you define. This allows teams to run highly tailored sequences for different segments — ICP tiers, industries, job titles — all from a single campaign management interface without duplicating sequence logic across multiple tools.
Native CRM Integrations (HubSpot and Beyond)
Smartlead offers native integrations with HubSpot and other CRMs, allowing two-way data sync between campaign activity and contact records. When a lead replies, bounces, or unsubscribes in Smartlead, those status changes can be reflected in HubSpot automatically — updating contact properties, triggering workflows, or creating deals. In the other direction, HubSpot contacts or list members can be enrolled directly into Smartlead campaigns via the native connector. This bidirectional flow eliminates the manual CSV export/import cycle that slows down many outbound teams and ensures your CRM always reflects the most current campaign engagement data for each contact.
Webhook and API Infrastructure for Custom Integrations
For GTM teams with non-standard stacks or custom data routing needs, Smartlead provides a robust webhook system and a documented REST API. Webhooks fire on campaign events — email sent, email opened, reply received, lead status changed — and POST a JSON payload to any endpoint you specify. This enables real-time integration with virtually any tool that accepts incoming webhooks: Slack, Zapier, Make, custom Node.js or Python listeners, or internal data warehouses. The API supports full CRUD operations on campaigns, leads, mailboxes, and analytics, making Smartlead programmable for teams that want to automate lead enrollment, pull reporting data, or build internal tooling on top of Smartlead's infrastructure.
Clay Integration for AI-Powered Lead Enrichment and Enrollment
Smartlead's integration with Clay is one of its most powerful workflow enablers. Clay is a data enrichment and automation platform that pulls contact and company data from 75+ sources and uses AI (Claude, GPT-4) to generate personalized outreach copy. When paired with Smartlead, Clay can automatically enroll enriched leads into the correct Smartlead campaign via API, passing custom fields like personalized opening lines, company context, or intent signals directly into Smartlead's personalization variables. This combination enables teams to run hyper-personalized cold email at scale — a workflow that [practitioners across GTM teams have called a game changer](https://www.linkedin.com/posts/lindamlian_what-do-go-to-market-teams-at-companies-like-activity-7381729311122395136-Ql-8) for outbound efficiency.
Multi-Channel Outreach via LinkedIn Integration
Smartlead supports multi-channel outreach by integrating with LinkedIn automation tools, most notably HeyReach. This allows GTM teams to run coordinated email and LinkedIn sequences — for example, sending a LinkedIn connection request on day one, a cold email on day three, and a LinkedIn message on day seven — all orchestrated from a single campaign view. The [HeyReach x Smartlead integration](https://www.linkedin.com/posts/nikolavelkovski_heyreach-x-smartlead-activity-7403741471880785920-tNac) was purpose-built to enable this multi-channel workflow without forcing teams into a rigid all-in-one tool. For teams also running LinkedIn ad campaigns, this integration creates the foundation for closed-loop attribution between cold outreach activity and paid conversion events.
Real-Time Slack Notifications and Team Alerts
Smartlead's Slack integration enables real-time campaign alerts to be pushed to any Slack channel or direct message. You can configure notifications for key campaign events: a lead replies, a lead's status changes to 'Interested,' a campaign hits a daily send limit, or a mailbox health issue is detected. For sales teams, reply notifications are particularly valuable — they allow an SDR or AE to respond within minutes of a warm reply, before lead intent decays. For RevOps and campaign managers, mailbox health and deliverability alerts provide operational visibility without requiring manual dashboard checks. This makes Smartlead's Slack integration a practical daily-use feature, not just a setup-and-forget notification system.
Setup Guide
Connect Your Mailboxes and Configure Warmup
Before building any campaigns, connect your sending mailboxes in Smartlead's dashboard under Settings > Mailboxes. You can add Google Workspace accounts via OAuth, Microsoft Outlook via OAuth, or any provider via SMTP credentials. For each new mailbox, enable the warmup toggle. Smartlead will begin sending low-volume warmup emails within its network, gradually ramping up over 2–4 weeks. Set your daily send limit per mailbox (typically 30–50 emails/day for new accounts, scaling to 100–150 for warmed accounts). If you're connecting multiple mailboxes for rotation, Smartlead will automatically distribute sends across all active mailboxes in a campaign, so your total daily capacity scales linearly with the number of connected accounts.
Create a Campaign and Build Your Sequence
Navigate to Campaigns > New Campaign. Name your campaign, assign the mailboxes you want to use for sending, and configure sending windows (days of week, time ranges, time zone handling). In the sequence builder, add your email steps. Each step supports plain text or HTML, personalization variables in the format `{{variable_name}}`, and conditional logic (e.g., 'only send this step if the lead has not replied to any prior step'). Add as many follow-up steps as your sequence requires — typically 4–7 for cold outreach. Set the delay between steps in days. Save the sequence before moving to lead upload. For best deliverability, keep emails under 150 words, avoid spam trigger phrases, and use a mix of plain text and minimal formatting.
// Example personalization variable usage in Smartlead email body:
Hi {{first_name}},
I noticed {{company}} recently {{custom_trigger_line}}.
{{personalized_opening}}
Would it make sense to connect this week?
Best,
{{sender_name}}Integrate HubSpot or Salesforce for CRM Sync
For HubSpot: Go to Integrations > HubSpot in Smartlead's dashboard and authenticate with your HubSpot portal credentials. Once connected, configure field mappings — decide which Smartlead lead properties map to which HubSpot contact properties (e.g., Smartlead's `email_status` maps to a custom HubSpot property like `Smartlead Status`). Enable bidirectional sync if you want HubSpot contacts to auto-enroll in Smartlead campaigns based on list membership or workflow triggers. For Salesforce: Smartlead does not currently offer a one-click native Salesforce connector, so the recommended approach is to use Zapier or Make as a middleware layer. Set up a Zap that triggers on Smartlead webhook events (reply received, status changed) and creates or updates Leads/Contacts in Salesforce. Alternatively, use Smartlead's API to push campaign activity data directly to Salesforce via its REST API. From our work with B2B teams, the Zapier path is fastest to implement (under 2 hours), while a direct API integration gives more control over data fidelity and field mapping.
// Zapier: Smartlead Webhook → Salesforce Lead Update
// Trigger: Smartlead Webhook (catch hook on reply event)
// Action: Salesforce - Update Record
// Field Mapping:
// Smartlead: lead_email → Salesforce: Email
// Smartlead: reply_text → Salesforce: Description
// Smartlead: campaign_name → Salesforce: Lead Source
// Smartlead: reply_time → Salesforce: Last Activity DateSet Up the Clay + Smartlead Integration for Automated Lead Enrollment
In Smartlead, navigate to Settings > API and copy your API key. In Clay, open the table where your enriched leads live. Add a new HTTP action column and configure it to call Smartlead's lead enrollment endpoint: `POST https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/leads`. Pass the API key as a query parameter (`?api_key=YOUR_KEY`) and build the JSON body using Clay column values as dynamic variables — mapping Clay's enriched fields (first name, last name, email, company, custom personalization lines) to Smartlead's expected payload schema. Add a filter condition to this Clay action so it only fires for rows where the email is verified and the lead does not already exist in Smartlead (to prevent duplicates). For duplicate prevention across multiple enrollment sources (e.g., both Clay and HubSpot feeding the same Smartlead campaign), use Smartlead's `allow_duplicate` parameter set to `false` — Smartlead will reject duplicate emails at the API level and return a 400 error that Clay can log without breaking the table run.
// Clay HTTP Action → Smartlead Lead Enrollment
POST https://server.smartlead.ai/api/v1/campaigns/{{campaign_id}}/leads?api_key={{smartlead_api_key}}
Headers:
Content-Type: application/json
Body:
{
"lead_list": [
{
"email": "{{email}}",
"first_name": "{{first_name}}",
"last_name": "{{last_name}}",
"company_name": "{{company}}",
"custom1": "{{personalized_opening_line}}",
"custom2": "{{trigger_event}}"
}
],
"allow_duplicate": false,
"ignore_global_block_list": false
}Configure Webhooks for Real-Time Event Routing
Navigate to Settings > Webhooks in Smartlead. Add a new webhook endpoint URL — this can be a Zapier catch hook URL, a Make webhook, a Slack incoming webhook, or your own server endpoint. Select which events should trigger the webhook: Email Sent, Email Opened, Email Replied, Lead Status Changed, Email Bounced, Lead Unsubscribed. Smartlead will POST a JSON payload to your endpoint for each triggered event. For Slack notifications specifically, create an incoming webhook in your Slack workspace (Slack App > Incoming Webhooks), copy the webhook URL, and paste it into a Zapier or Make flow that formats the Smartlead event payload into a readable Slack message. Test your webhook by manually triggering a test event in Smartlead and confirming the payload arrives at your endpoint with the expected fields. Common troubleshooting: if webhooks aren't firing, check that your endpoint returns a 200 status code within 5 seconds — Smartlead will retry failed webhooks but will eventually disable an endpoint that consistently times out.
// Example Smartlead Webhook Payload (Reply Event)
{
"event_type": "EMAIL_REPLIED",
"campaign_id": 12345,
"campaign_name": "Q1 Outbound - SaaS CFOs",
"lead_email": "john.smith@company.com",
"lead_name": "John Smith",
"reply_text": "Hey, thanks for reaching out. Can you share more details?",
"reply_time": "2024-01-15T14:23:00Z",
"mailbox_email": "outreach@yourdomain.com",
"sequence_number": 2
}Validate Your Integration and Monitor for Sync Failures
Once all integrations are live, run a test cycle with a small batch of 5–10 internal test leads. Enroll them via Clay (or your lead source), confirm they appear in the Smartlead campaign's lead list, verify the first email sends from the correct mailbox, and check that the reply event fires the webhook and updates your CRM. For HubSpot sync issues: the most common cause of contacts not syncing is a field mapping mismatch — ensure the HubSpot property type (single-line text, dropdown, date) matches the data type Smartlead is sending. For Clay enrollment failures: check the API response in Clay's run log — a 400 error typically means a duplicate lead (expected if `allow_duplicate: false`) or a missing required field. A 401 means your API key is invalid or has been rotated. Set up a Clay filter to flag rows where the HTTP status is not 200, so failed enrollments are visible and can be retried. In Maestro, you can centralize monitoring across all your Smartlead integrations — surfacing failed webhook deliveries, CRM sync errors, and enrollment gaps in a single RevOps dashboard.
// Validate Smartlead API connectivity
curl -X GET "https://server.smartlead.ai/api/v1/campaigns?api_key=YOUR_API_KEY&limit=10&offset=0"
// Expected response:
{
"ok": true,
"data": [
{
"id": 12345,
"name": "Q1 Outbound - SaaS CFOs",
"status": "ACTIVE",
"created_at": "2024-01-01T00:00:00Z"
}
]
}API Highlights
/api/v1/campaignsRetrieves all campaigns in your Smartlead account. Supports pagination via `limit` and `offset` query parameters. Returns campaign ID, name, status, creation date, and sending configuration. Campaign IDs returned here are required for all subsequent campaign-specific API calls — particularly lead enrollment and analytics pulls. Useful for building internal dashboards or syncing campaign metadata to your CRM.
GET https://server.smartlead.ai/api/v1/campaigns?api_key=YOUR_KEY&limit=20&offset=0/api/v1/campaigns/{campaign_id}/leadsEnrolls one or more leads into a specified campaign. Accepts a JSON array of lead objects in the `lead_list` field, each containing email (required), name fields, company, and up to 15 custom fields (`custom1` through `custom15`) that map to sequence personalization variables. The `allow_duplicate` boolean (default: true) controls whether leads already present in the campaign are re-enrolled. Setting this to `false` is critical for deduplication when multiple sources (Clay, HubSpot, manual upload) feed the same campaign simultaneously — Smartlead will return a 400 for duplicates rather than silently overwriting existing lead data.
POST https://server.smartlead.ai/api/v1/campaigns/12345/leads?api_key=YOUR_KEY
Body: { "lead_list": [{ "email": "jane@company.com", "first_name": "Jane", "custom1": "Your AI workflow post" }], "allow_duplicate": false }/api/v1/campaigns/{campaign_id}/leadsFetches all leads enrolled in a specific campaign, including their current status (ACTIVE, REPLIED, BOUNCED, UNSUBSCRIBED, COMPLETED), the sequence step they're on, and all associated custom field values. This endpoint is particularly useful for building CRM sync scripts — you can poll it on a schedule to detect status changes and push updates to HubSpot, Salesforce, or Pipedrive without relying solely on webhooks. Supports filtering by lead status via query parameters.
GET https://server.smartlead.ai/api/v1/campaigns/12345/leads?api_key=YOUR_KEY&status=REPLIED&limit=50/api/v1/campaigns/{campaign_id}/analyticsReturns campaign-level analytics including total emails sent, open rate, click rate, reply rate, bounce rate, and unsubscribe rate. Data is aggregated at the campaign level and can be used to build performance dashboards in tools like Google Sheets, Looker Studio, or internal BI platforms. Pairing this endpoint with the lead-level endpoint gives a complete picture of campaign health — useful for RevOps teams that need to report on outbound pipeline contribution without manually exporting from the Smartlead dashboard.
GET https://server.smartlead.ai/api/v1/campaigns/12345/analytics?api_key=YOUR_KEY/api/v1/leads/{lead_id}Retrieves the full record for a specific lead by their Smartlead lead ID, including all campaign history, current status across all campaigns, custom field values, and email activity timeline (sent, opened, clicked, replied events with timestamps). This endpoint is valuable for CRM enrichment workflows where you want to pull the full Smartlead activity history for a contact and write it to their CRM record — giving sales reps complete context on what emails were sent and when before they make a call.
GET https://server.smartlead.ai/api/v1/leads/67890?api_key=YOUR_KEY/api/v1/leads/{lead_id}/update-lead-statusUpdates the status of a lead in Smartlead programmatically. Accepted status values include INTERESTED, NOT_INTERESTED, MEETING_BOOKED, MEETING_COMPLETED, CLOSED, OUT_OF_OFFICE. This endpoint is critical for bidirectional CRM sync — when a deal stage changes in HubSpot or Salesforce (e.g., a meeting is booked), you can update the corresponding lead's status in Smartlead to pause further follow-up sequences. Without this, leads who have already converted may continue receiving automated emails, which damages sender reputation and prospect relationships.
POST https://server.smartlead.ai/api/v1/leads/67890/update-lead-status?api_key=YOUR_KEY
Body: { "status": "MEETING_BOOKED" }/api/v1/mailboxesLists all mailboxes connected to your Smartlead account with their current warmup status, daily sending limits, health scores, and associated campaign assignments. Use this endpoint to build operational monitoring — if a mailbox's health score drops below a threshold, your monitoring script can alert your team in Slack or pause the mailbox programmatically. Particularly useful for agencies managing outreach across multiple client domains who need automated mailbox health visibility rather than manual dashboard reviews.
GET https://server.smartlead.ai/api/v1/mailboxes?api_key=YOUR_KEYUse Cases
Clay + Smartlead: AI-Enriched Cold Email at Scale
The Clay + Smartlead integration is one of the most powerful workflows in modern outbound GTM. Here's how it works end-to-end: you build a Clay table that pulls prospect data from sources like LinkedIn, Apollo, Crunchbase, or your own CRM exports. Clay then enriches each row — verifying emails, pulling recent company news, identifying job change signals, and using AI (GPT-4 or Claude via Clay's Claygent) to generate a personalized opening line for each prospect based on their role, company, and a recent trigger event. Once enrichment is complete, a Clay HTTP action fires Smartlead's lead enrollment API, passing all enriched fields (including the AI-generated personalization line) as custom variables that map directly into your email sequence template. The lead appears in Smartlead within seconds and begins moving through your sequence on the configured schedule. From our work with B2B teams, the biggest operational challenge in this workflow is duplicate prevention. If your HubSpot is also syncing leads to the same Smartlead campaign, you risk the same prospect being enrolled twice — from HubSpot and from Clay — receiving duplicate sequences. The solution is to set `allow_duplicate: false` in your Clay HTTP action and to use a Clay deduplication filter that checks whether a lead's email already exists in Smartlead before attempting enrollment. In Maestro, you can manage this deduplication logic centrally across all your enrollment sources, preventing the data hygiene issues that plague multi-source outbound workflows.
HubSpot + Smartlead: Closing the Loop Between Outreach and CRM
The Smartlead HubSpot integration solves one of the oldest problems in outbound sales: campaign activity living in your email tool while contact records live in your CRM, with no reliable bridge between them. With the native HubSpot connector enabled, Smartlead can enroll leads from HubSpot contact lists or workflow triggers — so when marketing qualifies a contact in HubSpot, that contact can automatically enter a Smartlead cold email sequence without any manual intervention. In the other direction, when a lead replies in Smartlead, that reply event syncs back to HubSpot: updating the contact's lifecycle stage, logging the email interaction in the activity timeline, and potentially triggering a HubSpot workflow (e.g., assigning an owner, creating a task for follow-up, or moving the contact to a 'Sales Qualified' list). The most common troubleshooting issue we see is HubSpot contacts not syncing after the integration is enabled. The root cause is almost always a field mapping mismatch: HubSpot expects a specific property type (e.g., a dropdown with predefined values) but Smartlead is sending a free-text string. To fix this, audit your field mappings in the Smartlead integration settings and ensure every mapped property exists in HubSpot with a compatible data type. For teams using Maestro, field mapping validation is built into the integration setup flow, preventing misconfiguration before it causes silent sync failures.
Salesforce + Smartlead via Zapier: Enterprise CRM Integration Without Native Connector
Smartlead does not currently offer a one-click native Salesforce connector, but the Salesforce + Smartlead integration is highly achievable via Zapier (or Make) as middleware — and from our work with enterprise B2B teams, this is the most common architecture in use today for teams running Salesforce as their CRM of record. The core workflow: Smartlead fires a webhook when a lead replies or changes status. Zapier catches this webhook and runs a search in Salesforce to find the matching Lead or Contact record by email address. If found, Zapier updates the record — logging the campaign interaction, updating the Lead Status field, and creating a Salesforce Task for the assigned rep to follow up. If not found, Zapier can create a new Lead record in Salesforce, pre-populated with Smartlead campaign data. For teams that want to push data in the other direction (Salesforce → Smartlead), a second Zap can watch for Salesforce records that meet an ICP criteria (e.g., Lead Source = 'Outbound Target', Status = 'To Be Contacted') and enroll them in the appropriate Smartlead campaign via the lead enrollment API. This two-Zap architecture creates a functional bidirectional sync without requiring custom development. The Zapier approach also answers the frequently asked question about Pipedrive integration: Smartlead does not have a native Pipedrive connector, but the same Zapier pattern applies — Smartlead webhook → Zapier → Pipedrive CRM update — making the integration fully achievable with the same middleware approach.
LinkedIn Multi-Channel Outreach + Conversion Tracking with Smartlead
The [HeyReach + Smartlead integration](https://www.linkedin.com/posts/nikolavelkovski_heyreach-x-smartlead-activity-7403741471880785920-tNac) enables true multi-channel outreach by coordinating LinkedIn and email touchpoints in a single campaign workflow. A typical sequence might look like: Day 1 — LinkedIn profile view via HeyReach, Day 2 — LinkedIn connection request, Day 4 — Cold email via Smartlead, Day 7 — LinkedIn message via HeyReach if no email reply. This coordinated approach creates multiple touchpoints across channels without requiring manual coordination between tools. For teams also running LinkedIn ad campaigns targeting the same audience, there's an additional layer of value: closed-loop attribution. When a prospect who has seen your LinkedIn ad also receives and replies to your Smartlead cold email, that conversion signal is currently lost — your LinkedIn Campaign Manager doesn't know the reply happened. From our experience working with GTM teams running LinkedIn ads alongside cold email, the most effective architecture uses a server-side conversion tracking approach. Tools like MagnetLab offer a direct LinkedIn Conversion API integration (server-side, not just the standard Insight Tag pixel). By generating an access token in LinkedIn Campaign Manager, authenticating it, and connecting it to your conversion tracking layer, you can push lead conversion events — including cold email replies that result in meetings — directly back to LinkedIn's Conversion API. This server-side implementation is equivalent in concept to server-side Meta pixel tracking: it captures conversion data that client-side pixels miss, and it's far more durable against browser-based ad blocking. For teams spending significantly on LinkedIn ads alongside running Smartlead cold email, this attribution loop is a significant competitive advantage in understanding true channel contribution.
Real-Time Slack Alerts: Turning Smartlead Replies into Immediate Sales Actions
One of the highest-leverage, lowest-effort Smartlead integrations is Slack notifications for reply events. The operational problem it solves: in high-volume cold email campaigns, a warm reply from a high-priority prospect can sit unread in a shared inbox for hours if your sales team is managing multiple mailboxes. The longer the response lag, the lower your conversion rate from reply to meeting. With Smartlead's Slack integration configured, every reply event fires a formatted Slack message to the designated channel within seconds. A well-configured alert includes the lead's name, company, campaign name, the full reply text, a direct link to the conversation thread in Smartlead's inbox, and the sequence step that generated the reply (so the rep knows which email the prospect is responding to). For sales operations teams, Slack alerts also serve a monitoring function: deliverability warnings (mailbox health degraded), campaign completion notifications, and daily send summary digests. From our work with B2B teams, the teams who respond to replies within 15 minutes convert at 3–5x the rate of teams responding hours later. The Slack integration removes the activation energy of checking another dashboard and puts the signal directly in the tool your team lives in every day. In Maestro, you can route different event types to different Slack channels — for example, reply notifications to #sales-alerts and operational warnings to #revops-monitoring — without building custom webhook logic from scratch.
Frequently Asked Questions
Does Smartlead integrate with HubSpot?
Does Smartlead integrate with Pipedrive?
How does Smartlead work at a technical level?
What is the Smartlead API and how do I authenticate?
How do I prevent duplicate leads when using multiple integration sources with Smartlead?
How do I set up Smartlead webhooks and what events are available?
What is Smartlead's pricing and what does each plan include?
Start using Smartlead with Maestro
Automate your GTM workflows with the Smartlead integration. Connect in minutes and start seeing results.
Get Started