Sync Pipedrive & HubSpot Contacts with n8n Automation

Struggling to keep your Pipedrive and HubSpot contacts in sync? This automation fetches contacts from both platforms, finds unique entries, and updates HubSpot seamlessly, saving you hours of manual data reconciliation.
cron
pipedrive
hubspot
+1
Learn how to Build this Workflow with AI:
Workflow Identifier: 1406
NODES in Use: Cron, Pipedrive, HubSpot, Merge

Press CTRL+F5 if the workflow didn't load.

Visit through Desktop for Best experience

Opening Problem Statement

Meet Sarah, a busy sales manager handling thousands of contacts across multiple platforms. Every day, she wastes at least two hours manually cross-checking contacts between Pipedrive and HubSpot to avoid duplicates and ensure her team always contacts the most current leads. Errors creep in, leading to lost sales opportunities and frustrated clients. This manual process is inefficient, error-prone, and downright exhausting for Sarah and her sales team.

What Sarah really needs is an automated way to sync her contacts from Pipedrive and HubSpot—ensuring each platform has updated, unique records without duplicates or missing information.

What This Automation Does

This n8n workflow helps Sarah by automating the synchronization of contacts between Pipedrive and HubSpot, specifically by:

  • Automatically fetching all contacts from Pipedrive.
  • Automatically fetching all contacts from HubSpot.
  • Comparing both lists to find contacts unique to Pipedrive (based on email addresses) that are missing or need updating in HubSpot.
  • Updating or adding these unique contacts to HubSpot with key details like first name and email.
  • Running this synchronization every minute to ensure both systems stay aligned in near real-time.
  • Saving Sarah hours of manual data entry and reducing costly errors in client data.

Prerequisites ⚙️

  • Active Pipedrive account (for contacts management)
  • Active HubSpot account (for client relationship records)
  • Configured n8n automation platform with API credentials for both Pipedrive and HubSpot
  • Basic understanding of n8n node configuration and workflow deployment
  • Optional: Self-hosted n8n setup for avoiding cloud limitations (see Hostinger guide)

Step-by-Step Guide

Step 1: Setting Up the Cron Trigger Node

Navigate to the n8n editor, click + Add node → select Cron node. Configure it to run every minute by setting the trigger times with mode: everyMinute. This ensures the workflow periodically checks for updates without manual starting.

You should see the Cron node showing a scheduled trigger symbol.

Common mistake: Forgetting to enable the cron trigger or setting an incorrect interval time could cause the workflow not to execute as expected.

Step 2: Add the Pipedrive Node to Get All Contacts

Add a new Pipedrive node. Configure it by choosing the person resource and the getAll operation with returnAll=true to fetch every contact from Pipedrive. Select your authenticated Pipedrive API credentials.

Once configured, connect the Cron node’s output to this Pipedrive node.

You should see all Pipedrive contacts returned during execution.

Common mistake: Using limited filters or incorrect credentials will result in incomplete or failed fetches.

Step 3: Add the HubSpot Node to Get All Contacts

Similarly, add a HubSpot node. Choose the contact resource and getAll operation with returnAll=true. Connect the output of the Cron node also to this HubSpot node to fetch all contacts from HubSpot simultaneously.

Make sure to select your HubSpot API credentials.

You should observe the full list of HubSpot contacts on execution.

Common mistake: Forgetting to set returnAll to true can limit the number of contacts fetched.

Step 4: Merge Contacts Using the Merge Node

Add a Merge node configured with removeKeyMatches mode. Set propertyName1 to email[0].value and propertyName2 to identity-profiles[0].identities[0].value. This configuration compares emails from Pipedrive and HubSpot contact lists, identifying Pipedrive contacts whose emails are not found in HubSpot.

Connect the outputs of Pipedrive and HubSpot nodes to the Merge node, making the Pipedrive node the primary input.

You should see a filtered list of unique Pipedrive contacts that need to be added or updated in HubSpot.

Common mistake: Misconfiguring the merge keys leads to incorrect or no filtering of duplicates.

Step 5: Configure the HubSpot Node to Update Contacts

Add a second HubSpot node named HubSpot2. Configure it with the contact resource and an operation that updates contacts using the email for lookup. Set the email field dynamically using {{ $json["email"][0]["value"] }} and map other fields, like firstName to {{ $json["first_name"] }}.

Connect the filtered output from the Merge node to this HubSpot2 node. This node will update or create the necessary contacts in HubSpot based on new or changed data from Pipedrive.

You should verify the contacts are correctly added or updated in HubSpot after workflow runs.

Common mistake: Incorrect field mapping or using wrong property names in HubSpot leads to failed updates.

Customizations ✏️

  • Change Sync Frequency: In the Cron node, adjust the triggerTimes to run hourly or daily instead of every minute to reduce API calls and align with operational needs.
  • Add More Fields: Modify the HubSpot2 node’s additionalFields parameter to include phone number, company name, or custom properties for richer contact synchronization.
  • Reverse Sync Direction: Duplicate and modify nodes to sync unique HubSpot contacts to Pipedrive, creating a bi-directional sync workflow.
  • Filter Contacts: Add a Filter or IF node between Pipedrive and Merge to sync only contacts created or updated within the last 30 days for targeted syncing.
  • Error Logging: Add a Set or Code node to log contacts that fail to update properly for troubleshooting and audit trails.

Troubleshooting 🔧

  • Problem: “No contacts returned from Pipedrive or HubSpot.”

    Cause: Incorrect API credentials or permissions.

    Solution: Verify the API keys under Pipedrive and HubSpot nodes, ensure permissions include contact read access.
  • Problem: “Merge node outputs empty array even with contacts present.”

    Cause: Merge key fields misconfigured or inconsistent email formats.

    Solution: Double-check the property names in the Merge node; ensure emails are normalized (all lowercase, trimmed) before comparing.
  • Problem: “Contacts not updating in HubSpot.”

    Cause: Wrong property names or data mapping in HubSpot2 node.

    Solution: Use HubSpot’s official API documentation to confirm property keys, test mappings with one contact at a time.

Pre-Production Checklist ✅

  • Confirm valid and authorized API credentials for Pipedrive and HubSpot.
  • Test the Cron trigger separately to ensure timed execution is firing.
  • Run Pipedrive and HubSpot nodes independently to verify data retrieval.
  • Test the Merge node configuration with sample data ensuring unique contacts are correctly filtered.
  • Verify that the HubSpot2 node updates or creates contacts correctly by running with a test email.
  • Backup existing contacts data in both platforms if possible before deployment.

Deployment Guide

Once fully configured and tested, activate the workflow by enabling it in n8n. Make sure the Cron node is active for regular runs.

Monitor the workflow executions initially through n8n’s execution logs and error reporting to catch any issues early.

Adjust the Cron frequency as needed based on API rate limits and operational requirements.

FAQs

Q1: Can I use this workflow for other CRMs besides Pipedrive and HubSpot?
A1: This specific setup works with Pipedrive and HubSpot APIs. However, you can adapt it by swapping nodes and API credentials for other CRMs supported by n8n.

Q2: Does this consume a lot of API calls?
A2: Running every minute uses more API credits. Adjust Cron frequency to hourly/daily to save usage.

Q3: Is my data safe during this sync?
A3: Yes, n8n uses your API keys securely. Ensure your n8n instance is properly secured especially if self-hosted.

Conclusion

By setting up this n8n workflow, you’ve eliminated hours of tedious manual contact reconciliation between Pipedrive and HubSpot. You now have an automated, reliable system keeping your sales databases aligned and accurate, freeing up valuable time and improving sales effectiveness.

Next, consider expanding this automation to sync deals, automate follow-ups, or integrate marketing tools for even more powerful CRM management.

Keep experimenting, and happy automating!

Related Workflows

Automate Viral UGC Video Creation Using n8n + Degaus (Beginner-Friendly Guide)

Learn how to automate viral UGC video creation using n8n, AI prompts, and Degaus. This beginner-friendly guide shows how to import, configure, and run the workflow without technical complexity.
Form Trigger
Google Sheets
Gmail
+37
Free

AI SEO Blog Writer Automation in n8n (Beginner Guide)

A complete beginner guide to building an AI-powered SEO blog writer automation using n8n.
AI Agent
Google Sheets
httpRequest
+5
Free

Automate CrowdStrike Alerts with VirusTotal, Jira & Slack

This workflow automates processing of CrowdStrike detections by enriching threat data via VirusTotal, creating Jira tickets for incident tracking, and notifying teams on Slack for quick response. Save hours daily by transforming complex threat data into actionable alerts effortlessly.
scheduleTrigger
httpRequest
jira
+5
Free

Automate Telegram Invoices to Notion with AI Summaries & Reports

Save hours on financial tracking by automating invoice extraction from Telegram photos to Notion using Google Gemini AI. This workflow extracts data, records transactions, and generates detailed spending reports with charts sent on schedule via Telegram.
lmChatGoogleGemini
telegramTrigger
notion
+9
Free

Automate Email Replies with n8n and AI-Powered Summarization

Save hours managing your inbox with this n8n workflow that uses IMAP email triggers, AI summarization, and vector search to draft concise replies requiring minimal review. Automate business email processing efficiently with AI guidance and Gmail integration.
emailReadImap
vectorStoreQdrant
emailSend
+12
Free

Automate Email Campaigns Using n8n with Gmail & Google Sheets

This n8n workflow automates personalized email outreach campaigns by integrating Gmail and Google Sheets, saving hours of manual follow-up work and reducing errors in email sequences. It ensures timely follow-ups based on previous email interactions, optimizing communication efficiency.
googleSheets
gmail
code
+5
Free