How to Automate CRM Updates With Pipedream
Learn how to automate CRM updates with Pipedream step by step, from picking a trigger in HubSpot or Salesforce to syncing records without duplicates.
By Galactic News Editorial · Published 2026-11-08T01:35:13+00:00 · Updated 2026-11-08T01:35:13+00:00
Your CRM goes stale the moment someone updates a record in one tool and forgets the other. Contacts sit in HubSpot while Salesforce shows old data. Deals close in one system and stay open in the next. Pipedream fixes this by running small workflows that watch one app and update another. This guide shows you how to automate CRM updates with Pipedream, step by step, with no server to manage.
How Pipedream works
A Pipedream workflow is a sequence of steps triggered by an event. The trigger can be an HTTP request, a new event from an app, or a schedule. After the trigger, the workflow runs actions and code steps in order. Actions are prebuilt steps that call an app's API without you writing code. Code steps let you run Node.js, Python, Go, or Bash when you need custom logic.
Pipedream connects to thousands of apps, including HubSpot and Salesforce. Its components are prebuilt and source-available, developed by Pipedream and the community. For example, a HubSpot trigger can emit an event for each new or updated product, and a Salesforce action can create a record from it. The workflow runs on Pipedream's servers once you deploy it.
Authentication is handled through OAuth. When you connect HubSpot, a pop-up asks you to sign in and grant permission. Pipedream requests the scopes it needs, such as reading and writing CRM objects. The same pattern applies to Salesforce. You connect once, and the workflow reuses the connection.
How to automate CRM updates with Pipedream
Build the workflow in this order. Each step is small, and you can test as you go.
- Create the workflow. In Pipedream, create a new workflow. Give it a clear name, such as HubSpot to Salesforce contact sync. A clear name matters when you have twenty workflows and one breaks.
- Pick a trigger. Choose a trigger from your source CRM. For HubSpot, options include a new contact, a new ticket, or a new or updated product. For Salesforce, you can trigger on a case updated event. Pick the narrowest trigger that matches your need. A broad trigger fires too often and burns credits.
- Connect the source account. Connect your HubSpot or Salesforce account through the OAuth pop-up. Check the scopes Pipedream requests. It needs read access on the source and write access on the target.
- Add a code step to clean the data. Add a code step between the trigger and the action. Map the trigger fields to the fields your target CRM expects. Normalize email to lowercase. Split names. Drop empty values. Reference earlier steps with the steps object, for example steps.trigger.event for the trigger payload.
- Add the target action. Add the action for your target CRM, such as Create Record with the Salesforce API or an update action for HubSpot. Map the cleaned fields onto the record fields. Use the List Objects and Describe Object helpers to confirm the field names before you map them.
- Handle duplicates. Before creating a record, search for an existing one by email. If it exists, update it instead of creating a second copy. This search-then-update pattern is the single most important step in any CRM sync.
- Deploy and test. Deploy the workflow, then make a test change in your source CRM. Watch the workflow run. Check the record in the target CRM. Fix any mapping errors, then leave the workflow running.
Sync HubSpot and Salesforce both ways
One-way sync is simple. Two-way sync needs care. Build two workflows, one in each direction. Each workflow should only write when a value actually changed. Compare the incoming value with the current value before writing. This stops the loop where each system keeps updating the other.
Give each workflow a guard field. For example, write a timestamp or a sync marker when your workflow updates a record. The opposite workflow should ignore records that carry a fresh marker. The marker tells the other side that this change already came from the sync.
Keep the field list small. Sync name, email, company, phone, stage, and owner. Leave notes, tasks, and history out of the first version. You can add fields later once the core sync is stable.
Common mistakes to avoid
- Triggering on every update. A trigger on any record update fires on trivial changes. Use the most specific trigger available, such as a case updated event of a chosen type.
- Skipping the duplicate check. Without a search step, every run creates a new record. Your CRM fills with copies of the same contact.
- Mapping fields by guesswork. Field names differ between HubSpot and Salesforce. Use the Describe Object step to confirm the exact API field names.
- No error handling. Add a step that logs failures or sends an alert when an action fails. A silent failure looks like a working sync until someone checks the data.
- Testing in production. Build the workflow against a sandbox or a test record first. A bad mapping can rewrite hundreds of records in minutes.
Bottom line
To automate CRM updates with Pipedream, pick a narrow trigger in your source CRM, clean the data in a code step, and write it to the target with a duplicate check. Deploy it, test it with a real change, and watch the first runs closely. Two-way syncs need a change guard so the systems do not loop. Start with one direction, prove it, then add the other.