InTouch Hub · Blue Isle Software

Iterable

Update user profiles and trigger cross-channel email/push/SMS campaign sends via the Iterable API.

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.

emailmarketing-emailpushsmsstatus

Iterable

Update user profiles and trigger cross-channel email/push/SMS campaign sends via the Iterable API.

Grounded in the Iterable API docs: https://api.iterable.com/api/docs

What it does

A thin, standard-library-only wrapper over five Iterable endpoints: read a user profile, upsert a user profile, and trigger a campaign send on any of the three channels (email, SMS, push) to a single recipient.

Operations

operation HTTP Purpose
get-user GET /api/users/getByEmail?email= Look up a user profile by email.
update-user POST /api/users/update Upsert a profile keyed by email (or userId); dataFields is merged onto the profile.
send-email POST /api/email/target Trigger an email campaign to one recipient.
send-sms POST /api/sms/target Trigger an SMS campaign to one recipient.
send-push POST /api/push/target Trigger a push campaign to one recipient.

The three send-* operations are Iterable's "target" sends — they fire a campaign (campaignId, an integer) at a single recipient identified by email or userId, with optional dataFields merged into the template. This is the standard path for transactional / triggered campaigns.

Inputs

input required used by notes
apiKey yes all Iterable server-side API key (Api-Key header).
operation yes all One of the five operations above.
email — all Recipient/profile email. Required for get-user; for the others use this or userId.
userId — update-user, send-* Alternative identifier to email.
dataFields — update-user, send-* JSON object string. Profile fields for update-user; template merge data for send-*.
campaignId — send-* Integer Iterable campaign id (required for the send operations).

Outputs

API key setup

  1. Sign in to https://app.iterable.com.
  2. Go to Settings -> API Keys.
  3. Create a Server-side key and copy it.
  4. Pass that value as the apiKey input. It is sent verbatim in the Api-Key header on every request — no token exchange required.

Examples

Look up a user:

{
  "apiKey": "YOUR_SERVER_SIDE_KEY",
  "operation": "get-user",
  "email": "[email protected]"
}

Upsert profile fields:

{
  "apiKey": "YOUR_SERVER_SIDE_KEY",
  "operation": "update-user",
  "email": "[email protected]",
  "dataFields": "{\"firstName\":\"Jane\",\"plan\":\"pro\",\"signupSource\":\"hub\"}"
}

Trigger an email campaign to one recipient with template merge data:

{
  "apiKey": "YOUR_SERVER_SIDE_KEY",
  "operation": "send-email",
  "campaignId": "1234567",
  "email": "[email protected]",
  "dataFields": "{\"orderId\":\"A-9981\",\"total\":\"$42.00\"}"
}

Trigger an SMS or push campaign (same shape, different operation):

{
  "apiKey": "YOUR_SERVER_SIDE_KEY",
  "operation": "send-sms",
  "campaignId": "2233445",
  "userId": "user_8842"
}

Notes

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: get-user, update-user, send-email, send-sms, send-push
email string no — Recipient/profile email address. Identifies the user for get-user, update-user, and the send-* operations (use this or userId).
userId string no — Recipient/profile userId. Alternative identifier to email for update-user and the send-* operations.
dataFields string no — JSON object string. update-user: profile fields merged onto the user, e.g. {"firstName":"John","plan":"pro"}. send-*: optional template merge data for the campaign.
campaignId string no — send-email/send-sms/send-push: the integer Iterable campaign id to trigger for this recipient.