Sync marketing data to and from Salesforce, HubSpot, Zoho, or Pipedrive — contacts, deals, and campaign links with field mapping, deduplication, consent checks, batched execution behind a mandatory…

MITAuto-check passedSales & Support

Install CRM Sync

skills CLI
$ npx skills add indranilbanerjee/digital-marketing-pro --skill crm-sync -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install indranilbanerjee/digital-marketing-pro crm-sync --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/indranilbanerjee/digital-marketing-pro.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/crm-sync .claude/skills/crm-sync && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
crm-sync
GitHub stars
859
Used in
1 other repo
Token cost
~3.1k tokens
SKILL.md length
1,516 words
Files
1
Skills in repo
162
Repo updated
First seen
Licence
MIT

At a glance

Sync marketing data to and from Salesforce, HubSpot, Zoho, or Pipedrive — contacts, deals, and campaign links with field mapping, deduplication, consent checks, batched execution behind a mandatory…

  • Works in 4 steps: Present the full preview — recipients /… → The user must type yes (or an equivalent… → Never proceed on ambiguous input. Never… → …
  • /digital-marketing-pro:crm-sync
  • SKILL.md covers Purpose, Execution gate (MANDATORY —…, Input Required and Process, plus 2 more sections
  • Calls python

What it does

CRM Sync is an agent skill from indranilbanerjee/digital-marketing-pro. Sync marketing data to and from Salesforce, HubSpot, Zoho, or Pipedrive — contacts, deals, and campaign links with field mapping, deduplication, consent checks, batched execution behind a mandatory approval gate, and a rollback manifest. Produces a full sync report with per-record outcomes. Triggers on "/digital-marketing-pro:crm-sync", "push these contacts into HubSpot", "sync deals to Salesforce", "our CRM and marketing lists don't match", "set up a recurring CRM sync". Reads the brand profile and compliance…

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Sales & Support, covering CRM management. It works with HubSpot, Salesforce and Zoho. The repository describes itself as: An open-source AI marketing operating system for strategy, SEO, AEO/GEO, paid media, content, CRM, and analytics - grounded in brand context, human approval, and verifiable… The licence is MIT.

When your agent uses it

  • /digital-marketing-pro:crm-sync
  • Push these contacts into HubSpot
  • Sync deals to Salesforce
  • Our CRM and marketing lists dont match

Example prompts

  • “/digital-marketing-pro:crm-sync”
  • “push these contacts into HubSpot”
  • “sync deals to Salesforce”
  • “/crm-sync”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Present the full preview — recipients / spend / changes / compliance — as an Execution Summary before touching any live system.
  2. The user must type yes (or an equivalent explicit approval). ANY other input — ambiguous, implied, partial, or absent approval — cancels…
  3. Never proceed on ambiguous input. Never auto-retry a failed execution; a failure needs human review before any re-run.
  4. Record the approval with python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action create-approval --data…

What it can do on your machine

Read from SKILL.md and the folder at commit 3343924. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

CRM Sync loads about 3.1k tokens when it runs. Until then it costs about 151 tokens; SKILL.md has 1,516 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~151
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from indranilbanerjee/digital-marketing-pro at commit 3343924, republished under its MIT licence (© indranilbanerjee). 1,516 words, ~3,116 tokens.

Download SKILL.mdSave it as .claude/skills/crm-sync/SKILL.md (or your agent's skills folder).
name
crm-sync
description
Sync marketing data to and from Salesforce, HubSpot, Zoho, or Pipedrive — contacts, deals, and campaign links with field mapping, deduplication, consent checks, batched execution behind a mandatory approval gate, and a rollback manifest. Produces a full sync report with per-record outcomes. Triggers on "/digital-marketing-pro:crm-sync", "push these contacts into HubSpot", "sync deals to Salesforce", "our CRM and marketing lists don't match", "set up a recurring CRM sync". Reads the brand profile and compliance rules; for scored lead imports use /digital-marketing-pro:lead-import instead.
disable-model-invocation
false
argument-hint
[crm-platform]

/digital-marketing-pro:crm-sync

Purpose

Sync marketing data to and from the brand's connected CRM platform. Handles contact creation, deal updates, and campaign linking with automatic field mapping, deduplication, and compliance checks. Supports Salesforce, HubSpot, Zoho, and Pipedrive with bi-directional sync capabilities, ensuring marketing and sales teams operate from a single source of truth without manual data entry or import/export cycles. Designed for both one-time bulk syncs and recurring automated transfers, with full audit trails and rollback capabilities for enterprise-grade data governance.

Use this command instead of manual CSV imports when you need deduplication, compliance validation, or audit logging. For lead-specific imports with scoring, use /digital-marketing-pro:lead-import instead.

Execution gate (MANDATORY — cannot be skipped)

  1. Present the full preview — recipients / spend / changes / compliance — as an Execution Summary before touching any live system.
  2. The user must type yes (or an equivalent explicit approval). ANY other input — ambiguous, implied, partial, or absent approval — cancels the run.
  3. Never proceed on ambiguous input. Never auto-retry a failed execution; a failure needs human review before any re-run.
  4. Record the approval with python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action create-approval --data '{"risk_level":"<tier>","summary":"..."}' before executing, then python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action mark-executed --id {approval_id} after the platform confirms success.

Input Required

The user must provide (or will be prompted for):

  • Sync type: What to sync — contacts, deals, campaigns, or a combination of multiple object types in a single operation
  • Data source: Where the data comes from — CSV file path, JSON array, manual entry, or data from another connected MCP (e.g., Google Sheets, email platform, ad platform)
  • Target CRM platform: Salesforce, HubSpot, Zoho, or Pipedrive — and the specific object type if applicable (e.g., Salesforce Leads vs. Contacts, HubSpot Contacts vs. Companies)
  • Sync direction: One-way push (marketing to CRM), one-way pull (CRM to marketing), or bi-directional merge with conflict resolution preference (source wins, CRM wins, or most recent wins)
  • Field mapping overrides (optional): Custom mappings if default field mapping does not match the CRM's schema — e.g., "company_name" maps to "Account Name" in Salesforce, or "phone_mobile" maps to "MobilePhone"
  • Deduplication strategy: Match on email, phone, CRM ID, or composite key — and whether to update existing records, skip duplicates, or merge fields from both sources
  • Consent and compliance requirements: Whether GDPR consent fields, opt-in status, or data processing basis must be validated before sync — and which markets' regulations apply
  • Record filters (optional): Criteria to limit which records are synced — date range, segment membership, source campaign, lifecycle status, or custom field values
  • Batch size preference (optional): Number of records per API batch — smaller batches for safer rollback, larger batches for speed on high-volume syncs
  • Notification preferences: Whether to alert sales reps when new contacts or deals are synced to their pipeline, and via which channel (CRM notification, email, Slack)
  • Relationship linking: Whether to associate synced contacts with existing accounts, deals, or campaigns in the CRM — and the lookup key for matching (domain, account name, deal ID)
  • Tag or list assignment (optional): Tags, lists, or campaign memberships to apply to synced records for downstream segmentation and reporting attribution
  • Error handling preference: What to do when individual records fail — skip and continue (log failures for later), halt the entire sync (rollback completed records), or quarantine failed records for manual review
  • Sync schedule (optional): Whether this is a one-time sync or should be saved as a recurring sync template — if recurring, specify frequency (hourly, daily, weekly) and whether to sync only records modified since the last run (incremental) or all matching records (full)

Process

  1. Load brand context: Read ~/.claude-marketing/brands/_active-brand.json for the active slug, then load ~/.claude-marketing/brands/{slug}/profile.json. Apply brand voice, compliance rules for target markets (skills/context-engine/compliance-rules.md), and industry context. Also check for guidelines at ~/.claude-marketing/brands/{slug}/guidelines/_manifest.json — if present, load restrictions and relevant category files. Check for agency SOPs at ~/.claude-marketing/sops/. If no brand exists, ask: "Set up a brand first (/digital-marketing-pro:brand-setup)?" — or proceed with defaults.
  2. Check connected CRM status: Run python "${CLAUDE_PLUGIN_ROOT}/scripts/crm-sync.py" --brand {slug} --action get-crm-status to verify platform connection, API credentials, rate limit headroom, and available objects. If no CRM is connected, guide the user to configure their CRM MCP integration and provide platform-specific setup instructions.
  3. Validate input data: Parse the source data and validate required fields — check email format (RFC 5322), phone number normalization (E.164), required field presence, data type consistency, and character encoding. Flag invalid records with specific error reasons and separate them from the valid set.
  4. Map fields to CRM schema: Consult skills/context-engine/crm-integration-guide.md for standard field mappings per platform. Auto-map matching field names, apply user overrides, identify unmapped source fields, and flag required CRM fields with no source mapping. Present the complete field mapping table for confirmation before proceeding.
  5. Check for duplicates: Run python "${CLAUDE_PLUGIN_ROOT}/scripts/crm-sync.py" --brand {slug} --action check-dedup --data '{"email":"j@co.com","phone":"...","name":"...","company":"..."}' — the script takes one contact dict per call with email required (phone, name, company optional); loop over records for bulk dedup checks. Identify exact matches, fuzzy matches (Levenshtein distance on name + domain), and genuinely new records. Present dedup results with recommended actions per record (create, update, skip, merge).
  6. Validate compliance requirements: Check consent fields, opt-in status, and data processing basis against compliance rules for the brand's target markets. Flag records missing required consent or violating data retention policies. For GDPR markets, verify lawful basis is documented per record.
  7. Prepare CRM-ready payloads: Transform validated, deduplicated records into platform-specific API payloads with correct field names, data types, picklist values, relationship references (e.g., linking contacts to accounts), and owner assignment based on territory or round-robin rules.
  8. Create approval gate: Assess risk level — medium for fewer than 100 records, high for 100 or more. Present sync preview showing total record count, create/update/skip breakdown, dedup results, field mapping summary, compliance status, and any validation warnings requiring attention.
  9. On approval, execute sync via CRM MCP: Push payloads to the target CRM through the platform MCP in batched requests. Handle rate limits with exponential backoff, retry transient failures up to 3 times, and log each record's outcome (created with ID, updated with changed fields, skipped with reason, failed with error code).
  10. Verify record counts and data integrity: Confirm synced record counts match expected totals by querying the CRM post-sync. Spot-check 5 random records to verify field values transferred correctly. Flag any count mismatches or data discrepancies for immediate investigation.
  11. Apply relationship linking and tags: For synced records, execute relationship associations — link contacts to accounts by domain match, associate contacts with deals by email, and apply campaign memberships. Add tags and list assignments specified by the user for downstream segmentation.
  12. Generate rollback manifest: Create a reversible change manifest listing every record ID created or modified, with previous field values stored, enabling targeted rollback within the CRM if data quality issues surface post-sync.
  13. Log results and notify: Record the complete sync execution — timestamp, record counts, field mapping, errors, relationship links created, and duration — to ~/.claude-marketing/brands/{slug}/logs/crm-sync-log.json. If notification preferences were set, alert relevant sales reps about new records in their pipeline.
Show full SKILL.md (367 more words)Show less

Output

A structured CRM sync report containing:

  • Sync summary: Total records processed with breakdown — created, updated, skipped (duplicates), and failed counts with percentages and comparison to expected totals
  • Deduplication report: Duplicate records found with match type (exact/fuzzy), match fields used, confidence score, and action taken (updated, skipped, or merged) for each duplicate pair
  • Field mapping table: Complete source-to-CRM field mapping used, including auto-mapped fields, user overrides, unmapped source fields, and any default values applied to required CRM fields
  • Compliance audit: Records flagged for missing consent, opt-in gaps, or data processing basis issues — with remediation recommendations per record and applicable regulation referenced
  • Validation error report: Invalid records listed with specific field-level errors — malformed email, missing required field, data type mismatch, or encoding issue — and suggested corrections
  • Execution log: Timestamped record of every API call — batch number, records per batch, response status, retry attempts, rate limit pauses, and processing duration per batch
  • Rollback reference: Record IDs created or modified during this sync with previous field values, enabling targeted rollback if issues are discovered post-sync
  • Data integrity verification: Post-sync spot-check results — 5 randomly sampled records compared source vs. CRM to confirm field accuracy across all mapped fields
  • Relationship linking summary: Contacts linked to accounts, deals associated with campaigns, and any relationship links that failed due to missing target records — with manual resolution steps
  • Performance metrics: Sync throughput (records per second), total API calls consumed, rate limit utilization percentage, and estimated time for future syncs of similar size
  • Tag and list assignment confirmation: Tags applied, lists assigned, and campaign memberships created — with counts per tag/list and any assignment failures noted
  • Conflict resolution log (bi-directional only): For bi-directional syncs, each field-level conflict encountered — source value, CRM value, resolution applied (source wins, CRM wins, most recent wins), and any conflicts requiring manual review
  • Next sync recommendations: Suggested follow-up actions — re-sync failed records, schedule recurring syncs, clean up unmapped fields, update field mapping defaults, or configure automated bi-directional sync

Agents Used

  • crm-manager — Field mapping, deduplication logic, data validation, CRM schema resolution, compliance checking, payload preparation, owner assignment, relationship linking, and sync execution management
  • execution-coordinator — Approval workflow, risk assessment, batched execution orchestration, rate limit handling, retry logic, rollback manifest generation, notification delivery, and execution logging

© indranilbanerjee, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/crm-sync of indranilbanerjee/digital-marketing-pro.

Open the folder on GitHubat commit 3343924

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in indranilbanerjee/digital-marketing-pro, which our catalogue first saw on October 7, 2026.

Compare with similar skills

CRM Sync next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

CRM Sync compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
CRM Sync this skillindranilbanerjee/digital-marketing-pro8591 repos~3.1kAutomated safety check: PassMIT
CRM Data CleanupOneWave-AI/claude-skills328—~2.5kAutomated safety check: PassMIT
Google Maps Exportgmapsscraper/google-maps-agent-skills132—~1.2kAutomated safety check: PassMIT
Pipeline Reviewgooseworks-ai/goose-skills1.2k1 repos~6.9kAutomated safety check: PassMIT
Hubspot Bulk Migrationjeremylongshore/tons-of-skills-marketplace2.8k—~3.9kAutomated safety check: PassMIT
CRM Integrationmanojbajaj95/claude-gtm-plugin105—~3.8kAutomated safety check: PassMIT

Similar skills

  • CRM Data Cleanup

    OneWave-AI/claude-skills

    Finds duplicate and junk records in a CRM CSV export with fuzzy matching, normalizes fields and writes a reviewable merge plan plus import-ready files without touching the live CRM.

    328 GitHub stars~2.5k tokensUpdated 7 days ago
    Sales & SupportAuto-check passed
  • Google Maps Export

    gmapsscraper/google-maps-agent-skills

    Export Google Maps business data to CSV, JSON, or CRM format (HubSpot, Pipedrive, Salesforce).

    132 GitHub stars~1.2k tokensUpdated 4 mo ago
    Sales & SupportAuto-check passed
  • Pipeline Review

    gooseworks-ai/goose-skills

    Pipeline analysis composite. An agent skill from gooseworks-ai/goose-skills.

    1.2k GitHub starsUsed in 1 repo~6.9k tokens
    Sales & SupportAuto-check passed
  • Hubspot Bulk Migration

    jeremylongshore/tons-of-skills-marketplace

    Bulk-migrate CRM data into HubSpot from Salesforce, Pipedrive, or Copper — or export off HubSpot — with field mapping, ID continuity, association re-linking, dedup safety, rate-limit budgeting, and…

    2.8k GitHub stars~3.9k tokensUpdated yesterday
    Sales & SupportAuto-check passed
  • CRM Integration

    manojbajaj95/claude-gtm-plugin

    CRM integration patterns for Close CRM, HubSpot, and Salesforce.

    105 GitHub stars~3.8k tokensUpdated 21 days ago
    Sales & SupportAuto-check passed
  • CRM

    magnus919/agent-skills

    Operate HubSpot CRM from a terminal or agent: list and search contact records, view deal pipeline stages, and — with explicit confirmation — move deals between stages, backed by a bundled crm-cli…

    116 GitHub stars~2.1k tokensUpdated yesterday
    Sales & SupportAuto-check passed

More from indranilbanerjee/digital-marketing-pro

All 162 skills in this repo
  • Ab Test Plan

    indranilbanerjee/digital-marketing-pro

    Design a statistically rigorous A/B or multivariate test plan — If/Then/Because hypothesis, control and variant specs, required sample size per variant (absolute vs relative MDE via…

    859 GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Aeo Audit

    indranilbanerjee/digital-marketing-pro

    Audit how a brand appears across the 6 canonical AI answer surfaces — ChatGPT, Perplexity, Google AI Mode, AI Overviews, Gemini, Copilot — probing 10-25 queries into a numbered output bundle with…

    859 GitHub starsUsed in 1 repo~2.6k tokens
    Auto-check passed
  • Agent Readiness Audit

    indranilbanerjee/digital-marketing-pro

    Audit whether AI agents and AI crawlers can actually use a site — robots.txt rules per AI crawler token (OpenAI, Anthropic and Perplexity bots, Google-Extended, Applebot-Extended)…

    859 GitHub starsUsed in 1 repo~3.9k tokens
    Auto-check passed
  • Backlink Gap

    indranilbanerjee/digital-marketing-pro

    Find referring domains that link to your competitors but not to you, ranked by an outreach-priority score (0.40 DR + 0.25 link-overlap + 0.20 traffic + 0.15 topical relevance) — outputs a four-gate…

    859 GitHub starsUsed in 1 repo~2.8k tokens
    Auto-check passed
  • C2pa Metadata

    indranilbanerjee/digital-marketing-pro

    Embed a C2PA provenance manifest into an AI-generated marketing asset (PNG, JPG, WebP, GIF, TIFF, MP4, MOV, WebM, MP3, WAV, PDF) via scripts/embed-c2pa.py — produces a signed copy of the file…

    859 GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Campaign Audit

    indranilbanerjee/digital-marketing-pro

    Inventory and score everything currently running for a brand across paid search, paid social, email, organic, SEO, AEO/GEO, CRM, and analytics — produces a dated audit document with a 4-tier triage…

    859 GitHub starsUsed in 1 repo~4.1k tokens
    Auto-check: notes

Categories

Questions about CRM Sync

What does CRM Sync do?

Sync marketing data to and from Salesforce, HubSpot, Zoho, or Pipedrive — contacts, deals, and campaign links with field mapping, deduplication, consent checks, batched execution behind a mandatory…. CRM Sync is an agent skill from indranilbanerjee/digital-marketing-pro. Sync marketing data to and from Salesforce, HubSpot, Zoho, or Pipedrive — contacts, deals, and campaign links with field mapping, deduplication, consent checks, batched execution behind a mandatory approval gate, and a rollback manifest.

When should I use CRM Sync?

CRM Sync fits situations like: /digital-marketing-pro:crm-sync; push these contacts into HubSpot; sync deals to Salesforce; our CRM and marketing lists dont match.

How do I install CRM Sync in Claude Code?

Run `npx skills add indranilbanerjee/digital-marketing-pro --skill crm-sync -a claude-code`. Or copy the skill folder (skills/crm-sync in indranilbanerjee/digital-marketing-pro) into .claude/skills/crm-sync in your project. Claude Code loads it when a task matches its description.

How do I install CRM Sync in Codex?

Run `npx skills add indranilbanerjee/digital-marketing-pro --skill crm-sync -a codex`. Or copy the skill folder (skills/crm-sync in indranilbanerjee/digital-marketing-pro) into .agents/skills/crm-sync in your project. Codex loads it when a task matches its description.

Can I use CRM Sync in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add indranilbanerjee/digital-marketing-pro --skill crm-sync -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/crm-sync, .gemini/skills/crm-sync, .github/skills/crm-sync and .opencode/skills/crm-sync in your project.

What does CRM Sync need to run?

Going by SKILL.md and its folder, CRM Sync needs the command-line tools its instructions call (python). Our summary lists: Python 3.

Does CRM Sync access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is CRM Sync safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does CRM Sync use?

CRM Sync is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does CRM Sync use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to CRM Sync?

Skills that share tags, products or a category with CRM Sync: CRM Data Cleanup (OneWave-AI/claude-skills, 328 stars), Google Maps Export (gmapsscraper/google-maps-agent-skills, 132 stars), Pipeline Review (gooseworks-ai/goose-skills, 1.2k stars) and Hubspot Bulk Migration (jeremylongshore/tons-of-skills-marketplace, 2.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains CRM Sync?

indranilbanerjee (a GitHub user) maintains it in indranilbanerjee/digital-marketing-pro, which has 859 GitHub stars. The repository holds 162 skills in this directory. The repository was last updated on October 4, 2026.

Source: indranilbanerjee/digital-marketing-pro on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.