Logo

SmartLead

Authentication Type: API Key
Description: Integrate with SmartLead to manage email outreach campaigns and leads with comprehensive analytics and performance tracking.


Campaigns

Operations for SmartLead campaigns with analytics and performance tracking.

List All Campaigns

Retrieves a list of all campaigns in your SmartLead account.

Operation Type: Query (Read)

Parameters:

  • None

Returns:

  • campaigns array of objects: Array of campaign objects
    • id number: Campaign ID
    • user_id number: User ID who created the campaign
    • created_at string: Campaign creation timestamp
    • updated_at string: Campaign last update timestamp
    • status enum: Campaign status (DRAFTED, ACTIVE, COMPLETED, STOPPED, PAUSED)
    • name string: Campaign name
    • track_settings array of enums: Tracking settings for the campaign
    • min_time_btwn_emails number: Minimum time between emails in minutes
    • max_leads_per_day number: Maximum leads per day
    • parent_campaign_id number (nullable): Parent campaign ID if this is a child campaign
    • client_id number (nullable): Client ID if attached to a client

Example Usage:

{}

Get Campaign Statistics

Fetches detailed statistics for a specific campaign including lead interactions, email status, and engagement metrics.

Operation Type: Query (Read)

Parameters:

  • campaignId number (required): The campaign ID
  • offset number (nullable): Pagination offset
  • limit number (nullable): Pagination limit
  • emailSequenceNumber number (nullable): Email sequence number filter
  • emailStatus string (nullable): Email status filter (opened | clicked | replied | unsubscribed | bounced)

Returns:

  • total_stats string: Total statistics count
  • data array of objects: Array of campaign statistics
    • lead_name string (nullable): Lead name
    • lead_email string: Lead email address
    • lead_category string (nullable): Lead category
    • sequence_number number: Email sequence number
    • email_subject string: Email subject line
    • email_message string: Email message content
    • sent_time string (nullable): Email sent timestamp
    • open_time string (nullable): Email open timestamp
    • click_time string (nullable): Email click timestamp
    • reply_time string (nullable): Email reply timestamp
    • open_count number: Number of times email was opened
    • click_count number: Number of times email was clicked
    • is_unsubscribed boolean: Whether lead is unsubscribed
    • is_bounced boolean: Whether email bounced
  • offset number: Pagination offset
  • limit number: Pagination limit

Example Usage:

{
  "campaignId": 12345,
  "offset": 0,
  "limit": 100,
  "emailSequenceNumber": 1,
  "emailStatus": "opened"
}

Get Campaign Analytics by Date Range

Retrieves campaign analytics for a specific date range (max 30 days). Provides counts for sent, opened, clicked, replied, bounced, and unsubscribed emails.

Operation Type: Query (Read)

Parameters:

  • campaignId number (required): The campaign ID
  • startDate string (required): Start date in YYYY-MM-DD format
  • endDate string (required): End date in YYYY-MM-DD format

Returns:

  • id number: Campaign ID
  • user_id number: User ID
  • created_at string: Campaign creation timestamp
  • status string: Campaign status
  • name string: Campaign name
  • start_date string: Analytics start date
  • end_date string: Analytics end date
  • sent_count string: Number of emails sent
  • open_count string: Number of emails opened
  • click_count string: Number of emails clicked
  • reply_count string: Number of replies received
  • block_count string: Number of blocks
  • bounce_count string: Number of bounced emails
  • unsubscribed_count string: Number of unsubscribed leads

Example Usage:

{
  "campaignId": 12345,
  "startDate": "2024-12-01",
  "endDate": "2024-12-31"
}

Get Campaign Top-Level Analytics

Fetches comprehensive campaign analytics including overall performance metrics, lead statistics, tags, and client information.

Operation Type: Query (Read)

Parameters:

  • campaignId number (required): The campaign ID

Returns:

  • id number: Campaign ID
  • user_id number: User ID
  • created_at string: Campaign creation timestamp
  • status string: Campaign status
  • name string: Campaign name
  • sent_count string: Number of emails sent
  • open_count string: Number of emails opened
  • click_count string: Number of emails clicked
  • reply_count string: Number of replies received
  • bounce_count string: Number of bounced emails
  • unsubscribed_count string: Number of unsubscribed leads
  • sequence_count string: Number of sequences
  • unique_open_count string: Unique opens count
  • unique_click_count string: Unique clicks count
  • unique_sent_count string: Unique sent count
  • client_id number (nullable): Client ID
  • client_name string (nullable): Client name
  • client_email string (nullable): Client email
  • parent_campaign_id number (nullable): Parent campaign ID
  • tags array of objects (nullable): Campaign tags
    • id number: Tag ID
    • name string: Tag name
    • color string: Tag color
  • campaign_lead_stats object: Campaign lead statistics
    • total number: Total leads
    • blocked number: Blocked leads
    • stopped number: Stopped leads
    • completed number: Completed leads
    • inprogress number: In progress leads
    • notStarted number: Not started leads

Example Usage:

{
  "campaignId": 12345
}

Leads

Operations for SmartLead leads with comprehensive management capabilities.

Add Leads to Campaign

Adds a list of leads (with name and email) to a specific SmartLead campaign.

Operation Type: Mutation (Write)

Parameters:

  • campaignId number (required): The campaign ID
  • leadList array of objects (required): Array of lead objects to add to the campaign
    • email string (required): Email address of the lead
    • firstName string (required): First name of the lead
    • lastName string (required): Last name of the lead

Returns:

  • ok boolean: Whether the operation was successful
  • upload_count number: Number of leads uploaded
  • total_leads number: Total number of leads in the campaign
  • duplicate_count number: Number of duplicate emails
  • invalid_email_count number: Number of invalid formatted emails
  • already_added_to_campaign number: Number of leads already in the campaign
  • unsubscribed_leads array of strings: Array of unsubscribed email addresses
  • is_lead_limit_exhausted boolean: Whether the lead credit limit has been reached
  • lead_import_stopped_count number: Number of leads that couldn't be imported due to limits

Example Usage:

{
  "campaignId": 12345,
  "leadList": [
    {
      "email": "john.doe@example.com",
      "firstName": "John",
      "lastName": "Doe"
    },
    {
      "email": "jane.smith@example.com",
      "firstName": "Jane",
      "lastName": "Smith"
    }
  ]
}

Get Lead by Email

Retrieves detailed information about a lead using their email address, including contact details, company information, and subscription status.

Operation Type: Query (Read)

Parameters:

  • email string (required): Email address to search for

Returns:

  • id string: Lead ID
  • first_name string: Lead first name
  • last_name string: Lead last name
  • email string: Lead email address
  • created_at string: Lead creation timestamp
  • phone_number string (nullable): Lead phone number
  • company_name string (nullable): Lead company name
  • website string (nullable): Lead website
  • location string (nullable): Lead location
  • custom_fields object: Custom fields object
  • linkedin_profile string (nullable): LinkedIn profile URL
  • company_url string (nullable): Company URL
  • is_unsubscribed boolean: Whether lead is unsubscribed

Example Usage:

{
  "email": "john.doe@example.com"
}

Add to Global Block List

Adds email addresses or domains to the global block list to prevent future outreach. Can be applied globally or to a specific client.

Operation Type: Mutation (Write)

Parameters:

  • domainBlockList array of strings (required): Array of email addresses or domains to add to global block list
  • clientId number (nullable): Client ID if the block list is client-specific (null for global)

Returns:

  • uploadCount number: Number of items successfully added
  • totalDomainAdded number: Total domains/emails added to block list

Example Usage:

{
  "domainBlockList": ["spam-domain.com", "badlead@example.com"],
  "clientId": null
}

Common Use Cases

Campaign Management:

  • Monitor campaign performance with detailed statistics and analytics
  • Track email engagement metrics across different time periods
  • Analyze campaign effectiveness with comprehensive reporting

Lead Operations:

  • Bulk import leads into campaigns with duplicate detection
  • Search for existing leads by email address
  • Manage lead lifecycle and subscription status

Data Quality:

  • Add problematic domains and emails to global block lists
  • Track invalid and duplicate email submissions
  • Monitor lead import success rates and limitations