skills/sales-integration/SKILL.md
Connects sales tools with webhooks, Zapier/Make, native integrations, and custom API pipelines — CRM sync, event triggers, data mapping, and error handling. Use when CRM data isn't syncing from Mailshake/Apollo/Salesloft, webhook events aren't firing or arriving malformed, Zapier/Make automations are failing or skipping records, data is duplicating or missing between tools, or an integration that was working suddenly breaks. Do NOT use for Qwilr-specific automations (use /sales-qwilr-automation), general CRM platform config (use /sales-apollo or /sales-salesloft), or marketing automation flows (use /email-sequence).
npx skillsauth add sales-skills/sales sales-integrationInstall 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 design and implement integrations between sales tools — from choosing the right integration method through trigger/action design, field mapping, and error handling. This skill covers webhooks, Zapier/Make, native integrations, and custom API pipelines.
If references/learnings.md exists, read it first for accumulated knowledge.
Ask the user:
What are you connecting?
What should trigger the integration?
What should happen when triggered?
What's your technical comfort level?
What's your current stack? (list all sales/marketing/CRM tools in use)
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 — don't gate your response behind gathering complete context.
Choose the right integration method based on complexity and technical requirements.
| Method | Best for | Technical skill | Cost | Reliability | |--------|----------|----------------|------|-------------| | Native integration | CRM sync, built-in connectors | None | Free (included) | High | | Zapier / Make | Multi-step workflows, no-code | Low | $20-100/mo | High | | Webhooks + handler | Real-time events, custom logic | Medium | Free-low | Medium-high | | Custom API pipeline | Complex transformations, high volume | High | Varies | Depends on implementation |
Before building anything custom, check if a native integration exists:
For a complete lookup table of 240+ native integrations across all supported tools, see references/integrations.md.
Rule: If a native integration covers your use case, use it. Native integrations handle auth, retry, and error handling automatically. Only go custom when native doesn't support your specific trigger or action.
Trigger: Reply received in Mailshake/Apollo/Salesloft Actions:
Implementation options:
Trigger: Meeting booked (Calendly, Chili Piper, or CRM scheduler) Actions:
Trigger: Lead status changes to "MQL" in CRM Actions:
Implementation options:
POST /contacts/add_to_emailer_campaign. More control over field mapping, error handling, and conditional logic.Error handling for sequence enrollment:
Trigger: Deal moves to "Proposal Sent" or "Negotiation" in CRM Actions:
/sales-qwilr-automation)Trigger: Any activity logged in engagement tool (email sent, call made, meeting held) Action: Sync activity to CRM as a completed task/activity
Key considerations:
For platform-specific webhook configs, API integrations, and native connector details, see references/platforms.md.
Before building any bidirectional sync, decide which tool is the source of truth for each field:
| Data type | Typical source of truth | Why | |-----------|------------------------|-----| | Contact info (name, email, phone) | CRM (Salesforce/HubSpot) | CRM is the canonical record | | Activity data (emails, calls) | Engagement tool (Apollo/Salesloft/Mailshake) | Activity originates in the engagement tool | | Deal/opportunity | CRM | Revenue data lives in CRM | | Lead score | MAP or CRM | Scoring logic runs in MAP/CRM | | Sequence status | Engagement tool | Sequence state managed by engagement tool |
Check native integrations first. Don't build a Zapier workflow for something the tools already handle natively. Native integrations are more reliable, handle edge cases better, and don't cost extra. Check Settings > Integrations in both tools before going custom.
Respect API rate limits. Every tool has rate limits — Mailshake (100/min), Apollo (~200/min on Pro), Salesforce (varies), HubSpot (100/10s). High-volume syncs that ignore rate limits will get throttled or blocked. Always implement batching and backoff.
Define source of truth before bidirectional sync. Bidirectional sync without clear field-level ownership creates data ping-pong (A updates B, B updates A, loop). For every field that syncs bidirectionally, document which tool wins on conflict.
Self-improving: If you discover something not covered here, append it to references/learnings.md with today's date.
This skill covers a strategy domain across many platforms. Before pointing the user to any specific platform skill (any /sales-{platform} listed in ## Related skills, e.g., /sales-mailshake, /sales-klaviyo, /sales-apollo), read that platform skill's actual SKILL.md first. The 1-line description in ## Related skills is enough to identify a candidate — it's not enough to commit to it or to write a prompt that invokes it well.
How to read it:
~/.claude/skills/{skill-name}/SKILL.md exists locally, Read it.sales-* skills, WebFetch directly from this repo: https://raw.githubusercontent.com/sales-skills/sales/main/skills/{skill-name}/SKILL.md — e.g., for sales-mailshake: https://raw.githubusercontent.com/sales-skills/sales/main/skills/sales-mailshake/SKILL.md.sales-* skills (third-party), look up {org}/{repo} in ~/.claude/skills/sales-do/references/skill-sources.md if installed and fetch the same skills/{skill-name}/SKILL.md path under that repo.After reading, ground your recommendation in something concrete from the SKILL.md (its scope, a sub-flow, its argument-hint shape, or a "Do NOT use for..." negative trigger). Align any generated invocation with the platform skill's argument-hint. If the platform skill turns out not to fit the user's situation, swap to another or handle the question here directly rather than recommending a poor fit.
/sales-hubspot — HubSpot platform help (2,000+ marketplace apps, API, Data Hub sync, webhooks)/sales-qwilr-automation — Qwilr CRM integrations, API, and webhooks/sales-mailshake — Mailshake platform help (API, webhooks)/sales-apollo — Apollo platform help (CRM sync, API)/sales-smartlead — Smartlead platform help (API, webhooks)/sales-lemlist — Lemlist platform help (API, webhooks)/sales-salesloft — Salesloft platform help (integrations)/sales-groove — Groove.cm platform help (GrooveSell webhooks, Zapier)/sales-yesware — Yesware platform help (native Salesforce, no API)/sales-mixmax — Mixmax platform help (rules engine, integrations)/sales-reply — Reply.io platform help (webhooks, integrations)/sales-woodpecker — Woodpecker platform help (API, webhooks)/sales-deliverability — Email deliverability for sending tool integrations/sales-seismic — Seismic platform help (integrations, LiveSend)/sales-hunter — Hunter.io (API, CRM integrations, webhooks, MCP)/sales-customerio — Customer.io (APIs, Data Pipelines, webhooks)/sales-mailgun — Mailgun (REST API, inbound routing, webhooks)/sales-klaviyo — Klaviyo (350+ integrations, flow webhooks, Shopify)/sales-activecampaign — ActiveCampaign (900+ integrations, webhooks)/sales-sendgrid — SendGrid (Email API, Event Webhooks, Inbound Parse)/sales-postmark — Postmark (transactional API, Message Streams, webhooks)/sales-iterable — Iterable (Smart Ingest, system webhooks, REST API)/sales-braze — Braze (Currents, CDI, 170+ Alloys, REST API)/sales-brevo — Brevo (email/SMS/WhatsApp, transactional API, webhooks)/sales-clearbit — Clearbit (enrichment API, Reveal, webhooks)/sales-rb2b — RB2B (visitor ID, Identity Resolution API)/sales-6sense — 6sense (intent, scoring, Salesforce/HubSpot/API)/sales-clay — Clay (waterfall enrichment, CRM sync, webhooks)/sales-leadmagic — LeadMagic (REST API, MCP, Clay/Zapier/Make/n8n)/sales-zoominfo — ZoomInfo (SalesOS, MarketingOS, OperationsOS)/sales-blueconic — BlueConic CDP — 100+ connections for importing/exporting customer data/sales-treasuredata — Treasure Data CDP — 400+ connectors, enterprise data unification and audience activation/sales-mulesoft — MuleSoft platform help — enterprise iPaaS, API-led connectivity, 450+ connectors/sales-boomi — Boomi platform help — enterprise iPaaS, 1000+ connectors, API management, Data Hub MDM/sales-workato — Workato platform help — enterprise iPaaS, 1200+ connectors, recipe automation, API management, MCP Gateway/sales-celigo — Celigo platform help — mid-market iPaaS, 1000+ connectors, AI error management, NetSuite depth/sales-snaplogic — SnapLogic platform help — enterprise iPaaS, 1000+ Snaps, AgentCreator AI agents, API Management 3.0/sales-jitterbit — Jitterbit platform help — Harmony iPaaS, 400+ connectors, API Manager, App Builder, EDI, hybrid agents/sales-tray — Tray.ai platform help — enterprise iPaaS, 700+ connectors, Merlin Agent Builder, Tray Embedded, GraphQL API, Connector Development Kit/sales-informatica — Informatica IDMC platform help — enterprise iPaaS + data management, CDI/CAI, API Center, MDM, Data Catalog, IPU pricing, REST API v2/v3/sales-tibco — TIBCO Cloud Integration platform help — enterprise iPaaS with Scribe (Connect), Flogo (Develop), BusinessWorks (Integrate), Live Apps (Automate), hybrid agents, Cloud API Management/sales-data-hygiene — CRM data quality and enrichment automation/sales-do — Router — matches any sales objective to the right skillUser says: "When someone replies to my Mailshake campaign, I want to create a task in Salesforce and get a Slack notification." Skill does:
User says: "I need to sync all Salesloft activity to HubSpot so our marketing team can see sales touchpoints." Skill does:
User says: "When a lead hits MQL status in HubSpot, I want to auto-enroll them in an Apollo sequence." Skill does:
Symptom: Same contact appearing multiple times in destination tool Cause: Missing dedup logic — sync creates new records instead of matching existing ones Solution: Add matching/dedup step before create. Match on email address (primary key). Use CRM's native dedup rules. For Zapier, use "Find or Create" actions instead of "Create."
Symptom: Webhook or trigger not executing when expected Cause: Webhook URL misconfigured, event type wrong, or tool's webhook delivery failing Solution: Check webhook logs in the source tool. Test with a webhook debugging tool (webhook.site or RequestBin). Verify the event type matches exactly. Check if the webhook was disabled after errors.
Symptom: 429 errors, sync falling behind, or events being dropped Cause: Sending too many API requests too quickly Solution: Implement batching (batch multiple records per request where API supports it). Add exponential backoff on 429 responses. Reduce sync frequency (every 5 min instead of real-time). Use bulk API endpoints where available.
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.