skills/sales-braze/SKILL.md
Braze platform help — Canvas Flow journey orchestration, email/push/in-app/SMS/WhatsApp/Content Cards campaigns, BrazeAI (predictive, generative, agentic), Braze Data Platform (CDI, Currents), real-time segmentation, Catalogs, Feature Flags, transactional email API, Liquid templating, Connected Content, Braze Alloys integrations, SCIM, REST API. Use when Canvas flows aren't triggering correctly, segments not capturing the right users, Currents data not streaming to your warehouse, Braze API returning errors, or stuck migrating from Appboy. Do NOT use for building prospect lists (use /sales-prospect-list), designing outbound cadence strategy (use /sales-cadence), cross-platform deliverability (use /sales-deliverability), transactional email strategy (use /sales-transactional-email), push notification strategy (use /sales-push-notification), in-app messaging strategy (use /sales-in-app-messaging), or email marketing strategy (use /sales-email-marketing).
npx skillsauth add sales-skills/sales sales-brazeInstall 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 Braze platform questions — from Canvas Flow journey orchestration and cross-channel campaigns through BrazeAI, Braze Data Platform, segmentation, Catalogs, Feature Flags, and REST API integrations.
If references/learnings.md exists, read it first for accumulated knowledge.
Ask the user:
What area of Braze do you need help with?
/sales-push-notification {your question})/sales-in-app-messaging {your question})/sales-transactional-email {your question})/sales-deliverability {your question})What's your role?
What are you trying to accomplish? (describe your specific goal or question)
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 request maps to a specialized skill, route:
/sales-push-notification/sales-in-app-messaging/sales-email-marketing/sales-transactional-email/sales-deliverability/sales-integration/sales-lead-score/sales-live-chat/sales-loyaltyOtherwise, answer directly from platform knowledge using the reference 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.
Based on the user's area, provide:
First-time setup checklist:
changeUser() with external_idCanvas Flow quickstart:
API key setup:
curl -H "Authorization: Bearer YOUR_KEY" https://rest.{instance}.braze.com/users/export/ids -d '{"external_ids": ["test_user"]}'Best-effort from research — review these, especially items about plan-gated features and integration gotchas that may be outdated.
{{${first_name}}} not {{first_name}}. The double-dollar-sign wrapping is Braze-specific Liquid.{% connected_content ... :cache_max_age 300 %}) and ensure your API can handle the load.references/learnings.md with today's date./sales-push-notification — Push notification strategy across platforms/sales-in-app-messaging — In-app messaging and content card strategy across platforms/sales-email-marketing — Opt-in email marketing strategy across platforms/sales-transactional-email — Transactional/triggered email delivery strategy/sales-deliverability — Cross-platform email deliverability (SPF/DKIM/DMARC, warmup, reputation)/sales-integration — Connect Braze with data warehouses, CDPs, and other tools/sales-live-chat — Live chat and chatbot strategy/sales-loyalty — Customer loyalty program design/sales-lead-score — Lead/engagement scoring models/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 7-day onboarding journey in Braze for new app users?" Skill does: Guides through creating a Canvas with action-based entry (session start, first time = true) → Day 0 welcome push + in-app → Day 1 email with getting started guide → Day 3 Decision Split (completed setup? yes → feature highlight Content Card, no → reminder push) → Day 7 survey in-app message. Includes setting conversion events and A/B variant setup. Result: Complete onboarding Canvas with branching, multi-channel messages, and success metrics
User says: "I need to stream Braze engagement events to our Snowflake data warehouse" Skill does: Walks through Dashboard → Data Settings → Currents → Create New Current → Snowflake → configure connection credentials, select events to stream (email opens, push clicks, in-app impressions, purchases), set data format. Explains the Snowflake Data Sharing alternative for zero-ETL access. Result: Real-time engagement data flowing from Braze to Snowflake
User says: "How do I pull product recommendations from our API into Braze email at send time?"
Skill does: Shows Connected Content syntax: {% connected_content https://api.example.com/recs/{{${user_id}}} :save recs :cache_max_age 900 %} → iterate with {% for item in recs.products %} → build product cards in email. Covers error handling ({% if connected_content_status == 200 %}), caching, and load testing.
Result: Dynamically personalized product recommendation emails pulling from external API
Symptom: Canvas shows 0 entries or far fewer users than expected
Cause: Entry audience filters too restrictive, rate limiting too aggressive, re-eligibility disabled, or entry schedule not matching expected trigger
Solution: 1) Check entry audience — preview the segment size. 2) Verify the trigger event is actually firing (check user profile event log). 3) Check rate limiting settings. 4) Ensure re-eligibility is enabled if users should enter multiple times. 5) For API-triggered Canvas, verify the API call includes the correct canvas_id.
Symptom: Push campaigns show sends but low/zero deliveries Cause: Invalid push tokens, expired APNs certificate, incorrect FCM key, or users unsubscribed Solution: 1) Check push token validity in user profiles. 2) Verify APNs certificate or FCM key in Dashboard → Settings → App Settings. 3) Check push subscription status — filter segment by "Push Enabled". 4) For iOS, ensure push primer was shown and user accepted. 5) Test with a known-good device first.
Symptom: Emails rendering with blank personalization or error fallbacks
Cause: External API unreachable at send time, rate limited, or returning unexpected format
Solution: 1) Test the API URL manually with a sample user_id. 2) Add error handling: {% if connected_content_status == 200 %}. 3) Add caching: :cache_max_age 300 to reduce API calls. 4) Ensure your API can handle the send volume (1 call per recipient). 5) Add a fallback: {% else %}Default content here{% endif %}.
tools
UpViral platform help — viral referral marketing and list-building platform (by Emarky) for viral sweepstakes, giveaway/reward campaigns, pre-launch waiting lists, and milestone referral programs, with REST API (app.upviral.com/api/v1/), callback-URL webhooks, PHP SDK, fraud detection (IP-based suspicious-referral flagging), A/B testing, smart leaderboards, unlockable incentives, and 30+ native ESP/CRM integrations (Mailchimp, ActiveCampaign, ConvertKit, AWeber, HubSpot, Klaviyo, Intercom) plus Zapier/Make/Pipedream/Integrately/Pabbly. Use when UpViral campaigns aren't tracking referral points correctly, deciding between Starter $79/mo annual (10K leads, 1 brand, NO API) vs Business $119/mo (25K, 2 brands, API + webhooks unlocked) vs Premium $319/mo (100K, 5 brands, dedicated account manager), the API returns errors because you're on the Starter tier where API/webhooks are gated, building an UpViral→CRM or UpViral→data-warehouse pipeline with add_contact / get_leads / get_leads_points / add_points / get_custom_fields / lists methods (uvapikey + uvmethod form-encoded POST), interpreting fraud flags where same-IP referrals get marked suspicious and you must manually activate/delete/blacklist, setting up the Callback URL (webhook) to fire on reward-unlock events, Zapier New Lead / New Reward Unlocked triggers not firing, ClickFunnels/Shopify/funnel-builder integration breaking, the drag-and-drop page builder showing broken widgets or limited customization, the setup feeling long and complicated for your first campaign, or picking UpViral over Viral Loops / KickoffLabs / Vyper / Prefinery / Gleam / KingSumo / ShortStack for a viral campaign. Do NOT use for general newsletter audience growth strategy across all platforms (use /sales-audience-growth), newsletter monetization (use /sales-newsletter), KickoffLabs-specific help (use /sales-kickofflabs), no-code merge-tag newsletter referrals (use /sales-referralkit), SparkLoop paid recommendations (use /sales-sparkloop), or full-stack multi-level Level-1/2/3 referral/affiliate tracking (use /sales-referralhero).
development
ReferralHero platform help — full-stack referral, affiliate, waitlist, contest, and NPS platform with subscriber API, webhooks, Zapier, Mailchimp/Kit/AWeber/Klaviyo/ActiveCampaign/SendLane connectors, coupon codes, multi-level referral tracking (Level 1/2/3), anti-fraud, and 5,000 calls/hour rate limit. Use when ReferralHero campaigns aren't tracking referrals correctly, deciding between PRO $199/mo (10K members, includes API + webhooks) and PREMIUM $399/mo (50K members, adds ReCaptcha + SMS verification), authentication is failing with no_token or X-API-Key header is being ignored, multi-level referral counts (Level 2/3) aren't appearing for downline subscribers, coupon group endpoints return 404 or coupon arrays max out, hitting the 5,000 calls/hour soft limit and getting too_many_calls 429s, the Mailchimp/Kit native integration is double-adding subscribers, webhook payloads aren't firing on confirmation events, importing Stripe customer IDs through transaction tracking, generating reward fulfillment when subscribers cross milestone thresholds (promote/unlock_promoted_reward), comparing ReferralHero against SparkLoop/ReferralKit/Viral Loops/GrowSurf/KickoffLabs for referral marketing, or routing referral data via add_bulk_transactions (500-transaction batch limit). Do NOT use for general newsletter audience growth strategy (use /sales-audience-growth), general newsletter monetization (use /sales-newsletter), no-code newsletter-only referral with merge-tag insertion (use /sales-referralkit), SparkLoop's paid recommendations or partner network (use /sales-sparkloop), or affiliate program strategy across many platforms (use /sales-affiliate-program).
tools
KickoffLabs platform help — viral marketing platform for pre-launch waitlists, bonus-entry giveaways, milestone-reward referral programs, leaderboard giveaways, and email opt-in bribes with REST API v1 + v2, server-side webhooks (in/out), KOL.js JavaScript library, AnyForm script for custom pages, fraud detection (duplicate_ip / bounced / duplidate_email flags), SMS verification add-on, native ESP integrations (Klaviyo, Mailchimp, ActiveCampaign, Brevo), website builders (Webflow, Wix, Squarespace, Weebly), Shopify, Facebook Audiences, Slack, Zapier. Use when KickoffLabs viral campaigns aren't tracking referrals correctly, deciding between Hobby $13/mo annual (500 leads/mo no A/B no reward emails) vs Premium $48/mo (2.5K + A/B + reward emails + tracking pixels) vs Business $99/mo (10K + custom email templates + custom domains + advanced reporting + 3 team) vs Enterprise $202/mo (25K + 5 team + SMS included), API key getting rejected because you embedded it in client-side JavaScript instead of server-side, can't decide whether to use v1 /subscribe vs v2 /tags/:TAG_ID/lead for lead creation, webhook payloads firing with `__fraudulent` flag and you need to interpret the duplicate_ip/bounced/duplidate_email reason codes (yes, duplidate is spelled that way in their docs), AnyForm script not posting to KickoffLabs vs native API endpoint, leaderboard endpoint returning more than 50 leads is not allowed, social_id (kid in share URLs) attribution chain breaking between v1 and v2, contest score vs lead count metrics in the webhook payload are confusing, SMS Verification only available on Premium+ as $50/mo add-on (Enterprise includes), per-month lead cap auto-upgrades at $8 per 1000 overage leads, picking between KickoffLabs and Viral Loops / UpViral / Prefinery / ReferralCandy / Voucherify for viral campaign type fit, or rate limit per tier (10-100 calls/minute) is hitting on bulk imports. Do NOT use for general newsletter audience growth strategy (use /sales-audience-growth), general newsletter monetization (use /sales-newsletter), no-code merge-tag-only newsletter referrals (use /sales-referralkit), SparkLoop paid recommendations + partner network (use /sales-sparkloop), or full-stack referral/affiliate with multi-level Level-1/2/3 tracking (use /sales-referralhero).
development
Routes any sales, marketing, ad, or GTM objective to the right specialized skill and outputs the install command for that skill plus a ready-to-paste prompt packed with the user's context. Asks clarifying questions when the objective is ambiguous, then hands back a copy-paste-runnable next step. Covers prospecting, outbound cadences, deals, proposals, forecasting, deliverability, enrichment, intent, content, coaching, CRO, SEO, launch directories, newsletters, email/SMS/push marketing, chatbots, influencer marketing, social media, employee advocacy, media relations, reviews, data hygiene, B2B advertising, retargeting, affiliate, loyalty, digital products, memberships, webinars, checkout, and platform-specific help. Use when the user has a sales or marketing question and isn't sure which skill to use, or wants a multi-skill sequence with a batch install command. Do NOT use to solve problems directly — this skill only routes.