InTouch Hub · Blue Isle Software

SendPulse

Send email campaigns, SMS, and web-push notifications and manage mailing lists via the SendPulse API.

emailsmsmarketingcampaigns

SendPulse

Send email campaigns, SMS, and manage mailing lists from InTouch via the SendPulse REST API.

What it does

One tool, four operations covering the most common SendPulse workflows:

operation Method & endpoint Purpose
list-books GET /addressbooks List all mailing lists with their IDs and contact counts
add-emails POST /addressbooks/{bookId}/emails Add one or more subscribers to a mailing list
send-campaign POST /campaigns Create and send (or schedule) an email campaign to a list
send-sms POST /sms/send Send an SMS to one or more phone numbers

Every call returns:

{ "result": "<SendPulse response body>", "status": "200" }

result is the raw SendPulse response (a JSON string). Only transport failures (DNS error, timeout) mark the step FAILED; 4xx/5xx errors surface in status and result so you can branch on them downstream.

apiKey setup

SendPulse supports two credential forms; both work via the apiKey input:

Option 1 — Static API key (simpler, recommended): 1. Log in to SendPulse and go to Settings -> API. 2. Under API keys, click Add API key, copy the key. 3. Pass the key directly as apiKey.

Option 2 — OAuth2 client credentials: 1. Under Settings -> API, find your Client ID and Client Secret. 2. Pass them joined with a colon: apiKey = "your_client_id:your_client_secret". 3. The tool detects the colon, calls POST /oauth/access_token (grant_type=client_credentials), and uses the resulting access_token (valid for 1 hour) for the API call.

Operations

list-books

Returns the full list of mailing lists (address books) in the account. No extra inputs required.

{ "apiKey": "YOUR_KEY", "operation": "list-books" }

Sample result fragment:

[{"id": 987654, "name": "Newsletter 2026", "all_email_qty": 1200}, ...]

add-emails

Adds subscribers to a mailing list. bookId is the numeric ID from list-books.

Plain comma-separated addresses:

{
  "apiKey": "YOUR_KEY",
  "operation": "add-emails",
  "bookId": "987654",
  "emails": "[email protected], [email protected]"
}

With merge variables (JSON array):

{
  "apiKey": "YOUR_KEY",
  "operation": "add-emails",
  "bookId": "987654",
  "emails": "[{\"email\":\"[email protected]\",\"variables\":{\"Name\":\"Alice\",\"Phone\":\"+1555\"}}]"
}

send-campaign

Creates and immediately dispatches an email campaign to a mailing list. The senderEmail must be a verified sender in your SendPulse account. The HTML body is automatically Base64-encoded before sending.

{
  "apiKey": "YOUR_KEY",
  "operation": "send-campaign",
  "bookId": "987654",
  "senderName": "Acme Corp",
  "senderEmail": "[email protected]",
  "subject": "June product update",
  "bodyHtml": "<h1>Hello!</h1><p>Here is what is new this month.</p>"
}

Sample result: {"id": 112233, "status": 1, "all_email_qty": 1200, ...}


send-sms

Sends an SMS to one or more international phone numbers. smsSender must be 11 alphanumeric characters or fewer (country-dependent).

{
  "apiKey": "YOUR_KEY",
  "operation": "send-sms",
  "smsSender": "AcmeCorp",
  "smsPhones": "+15551234567, +447911123456",
  "smsBody": "Your order has shipped! Track at acme.com/track"
}

SMS delivery requires an active SendPulse SMS balance and a registered sender name in the countries you are targeting.