🤝 Sync CRM contacts with Mailchimp and Pipedrive

⚡ 75 views · 🤝 CRM & Sales Operations

Description

CRM Contact Sync with Mailchimp and Pipedrive

This workflow keeps your contact records perfectly aligned between your CRM (e.g. HubSpot / Salesforce / Pipedrive) and Mailchimp. Whenever a contact is created or updated in one system, the automation propagates the change to the other platform, ensuring every email address, phone number and custom field stays in sync.

Pre-conditions/Requirements

Prerequisites

Required Credentials

Specific Setup Requirements

Environment VariableDescriptionExample
PIPEDRIVE_API_KEYStored in n8n credential manager123abc456def
MAILCHIMP_API_KEYStored in n8n credential managerus-1:abcd1234efgh5678
MAILCHIMP_DCMailchimp Datacenter (sub-domain)us-1
CRM_WEBHOOK_URLGenerated by the Webhook nodehttps://n8n.myserver/webhook/...

How it works

This workflow keeps your contact records perfectly aligned between your CRM (e.g. HubSpot / Salesforce / Pipedrive) and Mailchimp. Whenever a contact is created or updated in one system, the automation propagates the change to the other platform, ensuring every email address, phone number and custom field stays in sync.

Key Steps:

Set up steps

Setup Time: 15-25 minutes

  1. Create credentials
    • In n8n, add new credentials for Pipedrive and Mailchimp using your API keys.
    • Name them clearly (e.g. “Pipedrive Main”, “Mailchimp Main”).

  2. Import the workflow
    • Download or paste the JSON template into n8n.
    • Save the workflow.

  3. Configure the Webhook node
    • Set HTTP Method to POST.
    • Copy the generated URL and register it as a webhook in your CRM’s contact-update events.

  4. Map CRM fields
    • Open the first Set node and match CRM field names (firstName, lastName, email, etc.) to the standard keys used later in the flow.

  5. Select Mailchimp Audience
    • In the Mailchimp node, choose the audience/list that should receive the contacts.

  6. Define Pipedrive Person Fields
    • If you have custom fields, add them in the Pipedrive node’s Additional Fields section.

  7. Enable the workflow
    • Turn the workflow from “Inactive” to “Active”.
    • Send a test update from the CRM to verify that contacts appear in both Mailchimp and Pipedrive.

Node Descriptions

Core Workflow Nodes:

Data Flow:

  1. Webhook → Set (Normalise) → SplitInBatches
  2. SplitInBatches → Mailchimp (Get) → If (Exists?) → Mailchimp (Upsert)
  3. SplitInBatches → Pipedrive (Search) → If (Exists?) → Pipedrive (Upsert)
  4. Merge → End / Success

Customization Examples

Add a Tag to Mailchimp contacts

// Place inside a Code node before the Mailchimp Upsert
item.tags = ['Synced from CRM', 'High-Value'];
return item;

Apply a Deal Stage in Pipedrive

// Pipedrive node → Additional Fields
"deal": {
  "title": "New Lead from Mailchimp",
  "stage_id": 2
}

Data Output Format

The workflow outputs structured JSON data:

{
  "id": 1472,
  "status": "updated",
  "email": "alex@example.com",
  "source": "CRM",
  "synced": {
    "pipedrive": "success",
    "mailchimp": "success"
  },
  "timestamp": "2024-04-27T10:15:00Z"
}

Troubleshooting

Common Issues

  1. HTTP 401 Unauthorized – Verify that the API keys are still valid and have not been revoked.
  2. Webhook receives no data – Double-check that the CRM webhook URL matches exactly and that the event is enabled.

Performance Tips

Pro Tips:


Community Template Disclaimer:
This workflow is provided by the n8n community “as is”. n8n GmbH makes no warranties regarding its performance, security or compliance. Always review and test in a development environment before using it in production.

đź”— Nodes Used

HTTP Request, Pipedrive, Webhook, Mailchimp

📥 Import

Download workflow.json and import into n8n: Workflow menu → Import from File

📖 Importing guide · 🔑 Credential setup