skills/sales-iterable/SKILL.md
Iterable platform help — cross-channel customer engagement with Studio journey builder, AI suite (Brand Affinity, STO, Predictive Goals), and Smart Ingest from 23+ data sources. Use when Studio journeys aren't triggering correctly, campaigns or experiments produce unexpected results, email/SMS/push/in-app/WhatsApp channels aren't delivering, AI features like Brand Affinity or STO aren't improving metrics, Smart Ingest or Snowflake sync is failing, or something in Iterable isn't working as expected. Do NOT use for general email marketing strategy (use /sales-email-marketing), push notification strategy (use /sales-push-notification), in-app messaging strategy (use /sales-in-app-messaging), transactional email strategy (use /sales-transactional-email), cross-platform deliverability (use /sales-deliverability), or connecting tools generically (use /sales-integration).
npx skillsauth add sales-skills/sales sales-iterableInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Help the user with Iterable platform questions — from Studio journey creation and campaign configuration through channel setup (email, SMS, push, in-app, web push, WhatsApp), AI features, data integration, experiments, and API usage.
If references/learnings.md exists, read it first for accumulated knowledge.
Ask the user:
What area do you need help with?
What's your role?
What's the goal?
If the user's request already provides most of this context, skip directly to the relevant step. Lead with your best-effort answer using reasonable assumptions (stated explicitly), then ask only the most critical 1-2 clarifying questions at the end.
If the question is about general strategy rather than Iterable-specific config, hand off to the appropriate skill:
| Question type | Hand off |
|---|---|
| Email marketing strategy (not Iterable-specific) | "This is an email marketing strategy question — run: /sales-email-marketing {your question}" |
| Push notification strategy across tools | "This is a push notification strategy question — run: /sales-push-notification {your question}" |
| In-app messaging strategy across tools | "This is an in-app messaging strategy question — run: /sales-in-app-messaging {your question}" |
| Transactional email provider comparison | "This is a transactional email question — run: /sales-transactional-email {your question}" |
| SPF/DKIM/DMARC setup across tools | "This is an email deliverability question — run: /sales-deliverability {your question}" |
| Connecting Iterable to CRM via Zapier/Make | "This is a tool integration question — run: /sales-integration {your question}" |
Otherwise, answer directly with Iterable-specific guidance below.
Read references/platform-guide.md for detailed module documentation, pricing, integrations, and data model.
You no longer need the platform guide details — focus on the user's specific situation.
/api/users/bulkUpdate), or Smart Ingest from your data warehouse| Metric | Where in Iterable | Benchmark | |---|---|---| | Email open rate | Campaign analytics | 20-25% | | Email click rate | Campaign analytics | 2-5% | | Push open rate | Campaign analytics | 5-15% | | In-app click rate | Campaign analytics | 15-30% | | SMS delivery rate | Campaign analytics | > 95% | | Journey completion rate | Studio analytics | Varies by journey | | Brand Affinity distribution | AI > Brand Affinity | Healthy: majority Positive/Loyal | | Experiment significance | Experiment results | Wait for 95% confidence |
Best-effort from research — review these, especially items about plan-gated features and integration gotchas that may be outdated.
/api/users/update, /api/events/track) instead. Smart Ingest is best for periodic warehouse syncs, not event streaming.references/learnings.md with today's date./sales-email-marketing — Email marketing strategy across platforms (not Iterable-specific)/sales-push-notification — Push notification strategy (opt-in, rich push, frequency capping across tools)/sales-in-app-messaging — In-app messaging strategy (message types, trigger design, onboarding across tools)/sales-transactional-email — Transactional email delivery (provider comparison, API integration)/sales-deliverability — Email deliverability (SPF/DKIM/DMARC, warmup, sender reputation)/sales-integration — Connect Iterable to CRM, data warehouse, and other tools/sales-braze — Braze platform help (primary competitor — for Braze-specific questions)/sales-customerio — Customer.io platform help (another cross-channel platform)/sales-klaviyo — Klaviyo platform help (e-commerce-focused engagement)/sales-do — Not sure which skill to use? The router matches any sales objective to the right skill. Install: npx skills add sales-skills/sales --skill sales-doUser says: "How do I create a multi-step welcome journey for new users in Iterable?" Skill does: Walks through creating a Studio journey: entry trigger on "signup" custom event → Send email (welcome + value prop) → Delay 1 day → Filter (opened welcome email?) → Yes branch: Send push (feature highlight) → Delay 2 days → Send in-app (onboarding tooltip). No branch: Send email (re-engagement). Exit criteria: user completes onboarding event. Includes template recommendations and Brand Affinity filtering for later stages. Result: Complete Studio journey with multi-channel onboarding flow
User says: "How do I A/B test email subject lines in Iterable?" Skill does: Explains two approaches: 1) Campaign-level experiment — create a blast campaign, add experiment with 2-4 subject line variants, set winning metric (open rate), sample size (20%), and auto-send winner timing. 2) Journey experiment — add Experiment tile in Studio to split traffic between two email Send tiles with different subjects. Recommends minimum 1,000 recipients per variant for statistical significance. Result: A/B test configured with proper sample sizing and winning criteria
User says: "How do I sync our user data from Snowflake into Iterable?" Skill does: Walks through Smart Ingest setup: Integrations > Smart Ingest > Create Connection > Select Snowflake > Configure credentials (account, warehouse, database, schema) > Map sync type (Users) > Map fields (email → email, custom attributes → dataFields) > Set sync frequency (every 15 min or hourly) > Test and activate. Mentions Snowflake Secure Data Sharing for the reverse direction (Iterable → Snowflake). Result: Bidirectional Snowflake-Iterable data pipeline configured
Symptom: Push campaigns show sends but no deliveries on iOS devices
Cause: APNs certificate expired, sandbox/production mismatch, or SDK not properly initialized
Solution: 1) Check APNs certificate expiry in Iterable Settings > Mobile Apps. 2) Verify you're using the correct APNs environment (sandbox for TestFlight, production for App Store). 3) Confirm the Iterable SDK is initialized with the correct API key and push registration is calling registerForRemoteNotifications(). 4) Check that the device token is being sent to Iterable via setDeviceToken(). 5) Test with a fresh app install to generate a new token.
Symptom: Smart Ingest connection shows errors or no data syncing Cause: Credential issues, query timeout, or field mapping mismatch Solution: 1) Verify Snowflake/BigQuery credentials are still valid and have SELECT permissions on the source table. 2) Check that the source query returns data (run it directly in your warehouse). 3) Verify field mapping — email or userId must be mapped to identify users. 4) Check for data type mismatches (e.g., string field mapped to number). 5) Review Smart Ingest logs in Iterable for specific error messages.
Symptom: Most users showing as "Neutral" or "Never Engaged" in Brand Affinity Cause: Insufficient engagement data — Brand Affinity needs historical cross-channel interaction data to generate meaningful scores Solution: 1) Ensure you've been sending campaigns across multiple channels for 30+ days. 2) Verify that open/click tracking is enabled for email campaigns. 3) Check that push notification open tracking is working (SDK properly configured). 4) Brand Affinity recalculates periodically — wait for the next refresh cycle after adding more engagement data. 5) In the meantime, use traditional engagement-based segmentation (opened in last 30 days) instead of Brand Affinity labels.
tools
Waitlister platform help — pre-launch waitlist platform with hosted landing pages, points-based viral referrals, built-in email broadcasts, REST API, and five HMAC-signed webhook events. Use when choosing Free (100 subscribers) vs Launch $15/mo (unlimited subs, referrals + broadcasts) vs Growth $49/mo (API, webhooks, Klaviyo/Mailchimp/Kit sync, fraud detection unlock here) vs Business $129/mo, building a webhook handler that verifies X-Webhook-Signature, webhooks auto-disabled after 10 consecutive failures, API signups bypassing referral fraud detection because client_ip/fingerprint weren't forwarded, granting bonus points or pulling top referrers via the API for reward fulfillment, broadcast send caps forcing an ESP handoff, automating without Zapier (Waitlister has none — webhooks/API only), or comparing Waitlister vs LaunchList/KickoffLabs/GetWaitlist/Prefinery. Do NOT use for list-growth strategy (use /sales-audience-growth) or LaunchList help (use /sales-launchlist).
development
LaunchList platform help — viral pre-launch waitlist platform with one-time lifetime pricing, gamified referrals (queue jumping, leaderboard, position inflation), embed widget + custom form POST endpoint, new_user/email_verify webhooks, Zapier, and spam protection. Use when choosing Free (100 submissions) vs Launch $29 (500) vs Grow $79 one-time (10K — webhooks, Zapier, team unlock here), wiring waitlist signups into Mailchimp/Kit/HubSpot or a CRM because LaunchList has no email broadcast system, needing programmatic access when there is no public REST API yet (form POST + webhook workaround), building a webhook handler with referred_by referral attribution, blocking disposable-email or bot signups on a viral waitlist, a custom signup form not submitting or not tracking referrals, or comparing LaunchList vs KickoffLabs/Viral Loops/Prefinery/GetWaitlist on one-time vs subscription pricing. Do NOT use for list-growth strategy (use /sales-audience-growth) or KickoffLabs help (use /sales-kickofflabs).
development
UpViral platform help — viral referral marketing and list-building platform (by Emarky) for viral sweepstakes, giveaway/reward campaigns, pre-launch waiting lists, and milestone referrals, with REST API (`app.upviral.com/api/v1/`, form-encoded `uvapikey` + `uvmethod`), Callback-URL webhooks, IP-based fraud detection, and 30+ ESP/CRM integrations. Use when campaigns aren't tracking referral points, deciding between Starter $79/mo (10K leads, NO API) vs Business $119/mo (API + webhooks) vs Premium $319/mo, the API erroring because you're on Starter where API/webhooks are gated, building a pipeline with `add_contact`/`get_leads`/`get_leads_points`, interpreting same-IP suspicious-referral flags, or picking UpViral over Viral Loops/Vyper/Gleam. Do NOT use for newsletter audience growth (use /sales-audience-growth), KickoffLabs help (use /sales-kickofflabs), merge-tag referrals (use /sales-referralkit), SparkLoop recommendations (use /sales-sparkloop), or multi-level Level 1/2/3 tracking (use /sales-referralhero).
tools
ReferralHero platform help — full-stack referral, affiliate, waitlist, contest, and NPS platform with REST API, webhooks, Zapier, native ESP connectors, multi-level referral tracking (Level 1/2/3), coupon groups, anti-fraud, and a 5,000 calls/hour limit. Use when referrals aren't tracking, deciding between Free (no API) vs PRO $199/mo (API + webhooks) vs PREMIUM $399/mo (ReCaptcha + SMS Verification), auth failing with `no_token` or `Bearer` vs `X-API-Key`, Level 2/3 counts off from calling `level_2_all_referrals` not `level_2_referrals`, bulk 429s from not chunking the 500-transaction `add_bulk_transactions` limit, coupon endpoints 404 without a coupon group, reward fulfillment (`promote` then `unlock_promoted_reward`) failing, or comparing to SparkLoop/ReferralKit/GrowSurf. Do NOT use for newsletter audience growth (use /sales-audience-growth), merge-tag referrals (use /sales-referralkit), SparkLoop recommendations (use /sales-sparkloop), or affiliate strategy across tools (use /sales-affiliate-program).