InTouch Hub · Blue Isle Software

Smartlead

Run cold-email outreach sequences and manage campaigns via the Smartlead API. Lists and reads campaigns, creates new campaigns, adds leads to a campaign, and starts/pauses/stops a campaign.

Provided free and as is, without warranty of any kind — including merchantability, fitness for a particular purpose, and the accuracy or completeness of any result. See the licence. You are responsible for checking what this produces before relying on it.

emailleadlogmarketing-emailmessagestatus

Smartlead

Run cold-email outreach sequences and manage campaigns via the Smartlead API. This tool reads and creates campaigns, adds leads to a campaign, and controls campaign status (start / pause / stop).

Pure standard-library Python (urllib, json) — no third-party packages.

What it does

Each invocation makes a single Smartlead REST API call selected by the operation input and returns the raw response.

Operations

operation method + path required inputs optional inputs
list_campaigns GET /campaigns/
get_campaign GET /campaigns/{id} campaignId
create_campaign POST /campaigns/create name, clientId
add_leads_to_campaign POST /campaigns/{id}/leads campaignId, email firstName, lastName, companyName
update_campaign_status POST /campaigns/{id}/status campaignId, status

status values are Smartlead campaign states such as START, PAUSED, and STOPPED.

Outputs

The tool publishes:

On a transport-level failure or a missing required input, it prints {"error": "<message>"} and exits non-zero so the job step is marked FAILED. HTTP 4xx/5xx responses are NOT treated as failures — the status code and Smartlead's error body are returned in result so you can inspect them.

API key setup

  1. Log in to your Smartlead account.
  2. Go to Settings → API Keys (https://app.smartlead.ai/app/settings/profile).
  3. Create / copy your API key.
  4. Pass it as the apiKey input. It is sent as ?api_key=<apiKey> on each request — a single key authenticates every operation (no OAuth / token exchange required).

Examples

List all campaigns:

operation = list_campaigns
apiKey    = <YOUR_API_KEY>

Get one campaign:

operation  = get_campaign
apiKey     = <YOUR_API_KEY>
campaignId = 123456

Create a campaign:

operation = create_campaign
apiKey    = <YOUR_API_KEY>
name      = Q3 Outbound Founders
clientId  = 42

Add a lead to a campaign:

operation   = add_leads_to_campaign
apiKey      = <YOUR_API_KEY>
campaignId  = 123456
email       = [email protected]
firstName   = Jane
lastName    = Doe
companyName = Example Inc

Pause a running campaign:

operation  = update_campaign_status
apiKey     = <YOUR_API_KEY>
campaignId = 123456
status     = PAUSED

Publishes

The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.

Input Properties

Every property this tool accepts, from its own tool.iml.

Property Type Required Default Description
apiKey string yes DEPRECATED — bind an API Key credential to the task with credentialName instead. A key pasted here is stored in the workflow definition in clear and appears in every export of it. Still honoured for workflows built before the change.
operation string yes One of: list_campaigns, get_campaign, create_campaign, add_leads_to_campaign, update_campaign_status
campaignId string no Campaign id. Required for get_campaign, add_leads_to_campaign, and update_campaign_status.
name string no Campaign name for create_campaign (defaults to 'Untitled Campaign').
clientId string no Numeric client id to associate with a new campaign for create_campaign (optional).
email string no Lead email address. Required for add_leads_to_campaign.
firstName string no Lead first name for add_leads_to_campaign (optional).
lastName string no Lead last name for add_leads_to_campaign (optional).
companyName string no Lead company name for add_leads_to_campaign (optional).
status string no New campaign status for update_campaign_status (e.g. START, PAUSED, STOPPED). Required for that operation.