How to Bulk Update Deal Stages in HubSpot
Deals in HubSpot live in pipelines, and each pipeline has its own set of stages. When you restructure a pipeline — adding, removing, or renaming stages — you need to move existing deals accordingly. When a sales campaign wraps up and a batch of deals need to be closed, you need to update them. When an integration creates deals in the wrong stage, you need to fix them.
Unlike contact properties where you can freely set any value, deal stages are tied to specific pipelines and have their own behaviors around probability, required fields, and close dates. Bulk updating deal stages requires understanding these mechanics to avoid unintended side effects.
How deal stages work in HubSpot
Every deal belongs to exactly one pipeline, and every pipeline defines its own set of stages. A deal's "Deal stage" property holds the internal ID of its current stage — not the display name you see in the UI.
For example, a deal in the "Sales Pipeline" might have a stage with:
- Display name: "Proposal Sent"
- Internal ID:
presentationscheduled(HubSpot's default) or a custom ID like123456
This distinction matters for bulk updates. If you're using CSV imports or API calls, you need to use the internal ID, not the display name.
Finding internal stage IDs: Go to Settings > Objects > Deals > Pipelines and Stages. Click on a pipeline, then click on a stage. The internal ID appears in the URL or in the stage details. Alternatively, you can use the HubSpot API to list all pipelines and their stages.
Key behaviors to know before bulk updating
Win probability
Each deal stage has an associated win probability (0-100%). Moving a deal to a different stage changes its probability, which affects forecasting reports. If you move 200 deals from "Negotiation" (80% probability) to "Qualification" (20% probability), your forecast drops significantly. Make sure your leadership team knows this is coming.
Required properties
Pipelines can have required properties for specific stages — properties that must be filled in before a deal can move to that stage. If you try to move a deal to a stage that requires a "Competitor" property and that deal doesn't have one, the update may fail silently or with an error depending on your update method.
Check your pipeline settings for required properties before running bulk stage changes.
Close date behavior
When a deal moves to a "Closed Won" or "Closed Lost" stage, HubSpot sets the close date to the current date (if the close date is in the future or not set). If you're moving deals to a closed stage in bulk, be aware that all of them will get today's date as the close date unless you explicitly set a different date.
Deal stage history
HubSpot tracks the history of stage changes for each deal. Moving a deal from Stage A directly to Stage C means it never "passed through" Stage B — the deal stage history reflects the jump. For funnel reporting (time in stage, conversion rates between stages), this can create anomalies. If stage-by-stage funnel metrics matter to your team, consider whether a bulk jump across stages will distort your reports.
Method 1: Kanban board drag-and-drop
For very small batches, you can drag deals between stages on the board view. This is only practical for a handful of deals and offers no multi-select capability.
Method 2: Inline bulk edit in list view
Switch from the board view to the list (table) view for deals.
- Go to Sales > Deals and switch to the Table view
- Filter deals by the current stage, pipeline, or other criteria
- Select deals using checkboxes (use "Select all" for the entire filtered list)
- Click Edit in the toolbar
- Select Deal stage from the property dropdown
- Choose the new stage
- Click Update
Important: The stage dropdown will only show stages from the pipeline that the selected deals belong to. If you've selected deals from multiple pipelines, the edit may not work as expected. Filter to one pipeline at a time.
Limitations: No preview, no rollback. Required property checks may prevent some deals from updating.
Method 3: Workflows
Deal-based workflows can update stages based on triggers and conditions.
Common setup:
- Create a deal-based workflow
- Enrollment trigger: "Deal stage is [current stage]" AND any additional criteria (date created, deal amount, deal owner, etc.)
- Action: "Set property value" > Deal stage > [new stage]
- Enable "Enroll existing deals" if you want to process deals that already match
Use cases for workflows:
- Auto-closing stale deals. "If deal stage is Proposal Sent AND last activity date is more than 90 days ago, move to Closed Lost." This automates pipeline hygiene.
- Stage progression based on task completion. "If deal has property 'Contract Signed' set to Yes, move to Closed Won."
- Pipeline migration. When retiring an old pipeline and moving deals to a new one, workflows can automate the stage mapping.
Watch out for: Workflow actions for deal stages require you to specify the pipeline. If you're moving deals to a different pipeline, you need to update both the Pipeline property and the Deal Stage property. Update the pipeline first, then set the stage — the stage must belong to the target pipeline.
Method 4: CSV import
Importing a CSV lets you update deal stages in bulk with per-deal control.
- Export the deals you want to update (include Record ID and current deal stage)
- In the spreadsheet, replace the deal stage values with the new internal stage IDs
- Import the CSV, mapping the Record ID column to match existing records and the stage column to "Deal stage"
Critical details:
- The deal stage value must be the internal ID, not the display label
- If you're moving deals to a new pipeline, include the pipeline ID column as well
- If the target stage has required properties, those properties must be populated in the CSV or already on the deal record
Method 5: Search and replace for stage text references
While deal stage itself is an internal ID, there are scenarios where you need to update text references to deal stages across your CRM. For example:
- Notes and descriptions that reference a stage name: "Move to Negotiation once pricing is approved"
- Custom text properties that store stage-related information
- Email templates or snippets that mention stage names
If you rename a stage from "Demo Scheduled" to "Discovery Call," the stage property itself updates in HubSpot's settings. But any text that referenced the old stage name in deal notes, custom properties, or associated records still says "Demo Scheduled."
SearchReplace handles this well. Here's what updating deal name references looks like:
Search across deal properties (or contact/company properties) for the old stage name and replace with the new one. This catches the text references that HubSpot's stage rename doesn't update.
Pipeline restructuring: a complete walkthrough
The most complex bulk deal stage scenario is restructuring an entire pipeline. Here's how to handle it safely.
Scenario: You're consolidating from three stages (Qualification, Needs Analysis, Value Proposition) into two (Discovery, Solution Design).
Step 1: Plan the mapping
| Old Stage | New Stage | Logic |
|---|---|---|
| Qualification | Discovery | Direct mapping |
| Needs Analysis | Discovery | Merge with Qualification |
| Value Proposition | Solution Design | Direct mapping |
Step 2: Create the new stages
In Settings > Deals > Pipelines, add the new stages to your pipeline. Don't remove the old ones yet — deals are still in them.
Step 3: Move the deals
Using bulk edit, workflows, or import, move deals from each old stage to the corresponding new stage. Work one old stage at a time:
- Filter deals by "Qualification" stage, select all, bulk edit to "Discovery"
- Filter deals by "Needs Analysis" stage, select all, bulk edit to "Discovery"
- Filter deals by "Value Proposition" stage, select all, bulk edit to "Solution Design"
Step 4: Verify the migration
Check that no deals remain in the old stages. Go to the board view and confirm the old stage columns are empty.
Step 5: Remove the old stages
Once all deals have been moved, delete the old stages from the pipeline settings. If you try to delete a stage that still has deals, HubSpot will ask you to move those deals first.
Step 6: Update deal stage references
Search for text references to the old stage names across deal notes, custom properties, and related records. Update them to reflect the new names.
Dealing with "Closed" stages
Moving deals to "Closed Won" or "Closed Lost" in bulk requires extra care.
Closed Won deals affect revenue reporting. Before bulk-closing deals as won, verify:
- Deal amounts are correct
- Close dates are what you want (or set them explicitly)
- Associated contacts will have their lifecycle stages updated to "Customer" (if you have lifecycle sync enabled)
- Any "Closed Won" workflow triggers will fire for all these deals
Closed Lost deals should have a "Closed Lost Reason" if your pipeline uses that property. Set the reason before (or during) the stage change to keep your loss analysis data intact.
Post-update checks
After any bulk deal stage update:
- Pipeline value. Check your pipeline's total value and stage-by-stage breakdown. Do the numbers make sense?
- Forecast. If you use HubSpot's forecasting tools, verify the forecast reflects the changes correctly.
- Deal stage reports. Check funnel reports and stage duration reports for anomalies.
- Workflows. Confirm that any workflows triggered by stage changes fired as expected (or didn't fire unexpectedly).
- Close dates. If you moved deals to closed stages, verify the close dates are correct.
- Required properties. Check for any deals that might have failed to update due to missing required fields.
Pipeline restructuring and bulk deal stage changes are some of the highest-stakes bulk operations in HubSpot. They directly affect revenue forecasting, sales processes, and management reporting. Take the time to plan the mapping, verify with previews where possible, and check the results thoroughly.
Keep working through the cleanup
Related HubSpot guides for planning, previewing, and validating the next step.
How to Bulk Edit Deals in HubSpot
Bulk update deal names, descriptions, and property values in HubSpot. Fix pipeline data at scale without CSV exports or one-by-one editing.
Read guideHow to Move Deals Between Pipelines in HubSpot
Reorganizing your sales pipelines? Learn how to move deals between HubSpot pipelines — individually and in bulk — without losing data or breaking reports.
Read guideHubSpot Bulk Editing for Agencies
Agencies managing HubSpot for clients need fast, reliable bulk editing. Learn strategies for handling data cleanup, content updates, and CRM changes at scale.
Read guideHubSpot Agency Migration Guide: Moving Client Data
A practical guide for agencies migrating client data into or between HubSpot portals. Covers planning, data mapping, cleanup, and post-migration validation.
Read guideStill editing HubSpot records one by one?
Start with 100 free applied records — no credit card required.