InTouch Hub · Blue Isle Software

Klaviyo

Sync e-commerce profiles and trigger email/SMS flows via the Klaviyo events and campaigns API.

klaviyomarketingemailsms

Klaviyo

Sync e-commerce customer profiles and trigger email/SMS flows via the Klaviyo API.

What it does

Klaviyo flows (automations) are triggered by events: when you post an event (a metric like Placed Order) for a profile, any flow whose trigger is that metric fires and delivers its configured email/SMS. This tool lets InTouch jobs upsert profiles, fire those triggering events, and inspect campaigns — all with the credential held in InTouch, never in the AI context.

Operations

operation method / endpoint purpose
get-profiles GET /api/profiles/ List profiles; optional email filter / pageSize
upsert-profile POST /api/profile-import/ Create or update a profile (matched on email/phone)
create-event POST /api/events/ Fire an event/metric for a profile → triggers matching flows
get-campaigns GET /api/campaigns/ List campaigns (filtered by channel, default email)

Inputs

Output

Publishes result (the Klaviyo JSON response body as a string) and status (the HTTP status code). create-event returns 202 Accepted with an empty body on success; the tool emits {"accepted": true, "metric": "..."}.

API key setup

  1. In Klaviyo, go to Settings → API keys.
  2. Click Create Private API Key, name it (e.g. intouch), and grant the scopes you need (Profiles, Events, Campaigns).
  3. Copy the key (starts with pk_…) and pass it as the apiKey input.

Examples

Upsert a profile:

{
  "apiKey": "pk_xxx",
  "operation": "upsert-profile",
  "email": "[email protected]",
  "firstName": "Jane",
  "properties": "{\"plan\":\"pro\"}"
}

Trigger a flow by firing an event:

{
  "apiKey": "pk_xxx",
  "operation": "create-event",
  "email": "[email protected]",
  "metric": "Placed Order",
  "value": "129.00",
  "properties": "{\"order_id\":\"A-1001\"}"
}

List email campaigns:

{ "apiKey": "pk_xxx", "operation": "get-campaigns", "channel": "email" }

Look up a profile by email:

{ "apiKey": "pk_xxx", "operation": "get-profiles", "email": "[email protected]" }