All guides
HubSpotContacts

How to Bulk Update Lead Status in HubSpot

By SearchReplace··9 min read

Lead status tells your sales team what's happening with a lead right now. While lifecycle stage tracks the big picture — is this person a lead, an MQL, an opportunity, a customer — lead status captures the granular reality of sales activity. Is this lead new and untouched? Has someone tried calling? Are they in active conversation? Were they disqualified?

HubSpot's default lead status values are:

  • New
  • Open
  • In Progress
  • Open Deal
  • Unqualified
  • Attempted to Contact
  • Connected
  • Bad Timing

Most companies customize these, adding statuses like "Nurture," "No Response," "Contacted - Interested," or "Recycled." Whatever your values, there are regular situations where you need to update lead status across large numbers of contacts at once.

When you need bulk lead status updates

Sales territory changes. When a rep leaves the company or territories are redrawn, their leads need to be reassigned. Along with owner reassignment, lead statuses often need resetting — leads that were "In Progress" for the departing rep should go back to "New" or "Open" for the new rep to work fresh.

End of quarter cleanup. At the end of each quarter, many sales teams audit their pipelines and move stale leads back to earlier statuses. Leads that have been "Attempted to Contact" for 60+ days with no response might move to "Bad Timing" or "Nurture."

Campaign re-engagement. Marketing wants to re-engage leads that were previously disqualified or went cold. Moving them from "Unqualified" to "Open" signals to sales that these contacts are worth another look.

Process changes. Your team decides to rename or consolidate lead statuses. "Connected" and "In Progress" are being merged into a single "Active" status. Every contact at either status needs to move to the new one.

Data cleanup after a bad import or integration. A batch of leads came in with the wrong status — maybe an integration set everyone to "Open" when they should have been "New," or an import left the field blank.

Method 1: Inline bulk edit

The quickest method for smaller batches.

  1. Go to Contacts
  2. Filter by the current lead status you want to change — click "All filters," find Lead Status, select the value
  3. Optionally add other filters (owner, create date, last activity) to narrow the set
  4. Select contacts using checkboxes — click the top checkbox to select all visible, or "Select all X contacts" to get the full filtered set
  5. Click Edit in the toolbar
  6. Select Lead status from the dropdown
  7. Choose the new value
  8. Click Update

You can use "Select all" to select the entire filtered set. HubSpot applies the same value to every selected record.

The real limitation is that bulk edit only sets one value. It works well for changing lead status, since you are setting all selected records to the same value. But it offers no preview of what will change, no undo, and no ability to set different values on different records in one operation.

Method 2: Workflows

Workflows offer more precision for conditional lead status changes.

Simple status change:

  1. Create a contact-based workflow
  2. Set enrollment triggers: "Lead status is equal to [current value]" AND any other criteria
  3. Add action: "Set property value" > Lead status > [new value]
  4. Turn on the workflow

Conditional status change based on activity:

This is where workflows shine. For example, "If lead status is 'Attempted to Contact' AND last activity date is more than 30 days ago, change lead status to 'Bad Timing'."

  1. Enrollment trigger: Lead status is "Attempted to Contact"
  2. If/then branch: Last activity date is more than 30 days ago
  3. Yes branch: Set lead status to "Bad Timing"
  4. No branch: Do nothing (or set a task for the owner to follow up)

Bulk enrollment of existing contacts:

When you turn on a workflow, it doesn't automatically enroll existing contacts that match the trigger — you need to enable "Enroll existing contacts" (the toggle is in the workflow settings). This is what makes workflows useful for bulk operations: turn on the workflow with existing enrollment enabled, let it process, then turn it off.

Important: If you use the "enroll existing" option, every matching contact enrolls immediately. For thousands of contacts, this can take minutes to hours depending on workflow complexity and HubSpot's processing queue. Monitor the workflow's enrollment history to track progress.

Method 3: CSV import

Lead status can be set via CSV import, which is useful for complex or conditional changes that are easier to handle in a spreadsheet.

  1. Export the contacts you need to update (include their email or record ID and current lead status)
  2. Add or modify the lead status column with the desired values
  3. Import the CSV back into HubSpot
  4. Map the lead status column to the Lead Status property

The lead status values in your CSV must match the internal property values in HubSpot, not necessarily the display labels. If your lead status dropdown has a label of "Attempted to Contact" but an internal value of ATTEMPTED_TO_CONTACT, the CSV needs the internal value. You can find these in Settings > Properties > search for Lead Status > click to edit > view the options.

For HubSpot's default lead status values, the internal values are the same as the labels. For custom values, check your settings.

Method 4: Search and replace

When you need to change one specific lead status value to another — "find all contacts with status X, change to status Y" — search and replace is the most direct approach.

With SearchReplace:

  1. Select Contacts and the Lead status property
  2. Search for the current status value
  3. Replace with the new status value
  4. Preview all matching contacts
  5. Apply

This works particularly well for status consolidation. If you're merging "Connected" and "In Progress" into "Active," run two operations: search "Connected" replace "Active," then search "In Progress" replace "Active." Each operation shows exactly which contacts will change, and each can be rolled back independently.

Common scenarios in detail

Quarterly pipeline cleanup

At the end of each quarter, stale leads drag down pipeline metrics and give reps a bloated, inaccurate view of their book of business.

Define "stale." Common thresholds:

  • "Attempted to Contact" for 45+ days with no response
  • "In Progress" with no activity in 30+ days
  • "Open" with no activity in 60+ days

Build the filter. In HubSpot, filter contacts by lead status AND last activity date. You can also use a saved list for this if you run the cleanup regularly.

Choose the destination status. Options:

  • "Bad Timing" — signals the lead isn't ready now but might be later
  • "Nurture" (custom) — moves them to a marketing nurture track
  • "Recycled" (custom) — explicitly marks them as returned to the top of funnel

Execute. Inline bulk edit works fine for quarterly cleanup since the numbers are usually manageable. If you have thousands of stale leads, a workflow with specific date-based criteria is more efficient.

Sales rep departure

When a rep leaves, their leads need to be redistributed. The lead status update is part of a broader handoff process.

  1. Export the departing rep's leads (filter by owner) — this is your backup
  2. Reassign ownership to new reps (bulk edit the owner property)
  3. Reset lead status to "New" or "Open" — the new rep should work these fresh, not inherit a misleading "In Progress" status from someone who's gone
  4. Notify the new owners via a workflow or manual communication

The status reset is important. A lead marked "In Progress" by someone who left might have been in progress weeks ago with no follow-up since. The new rep needs a clean start.

Adding a new lead status value

When you add a new status to your dropdown (say "Qualified - Pending Demo"), you might want to move existing contacts from "Connected" to this new status based on certain criteria.

  1. Add the new status value in Settings > Properties > Lead Status
  2. Create a workflow with enrollment criteria that match the contacts you want to move (e.g., "Lead status is Connected AND Company size is greater than 50")
  3. Set the action to update lead status to your new value
  4. Enable "Enroll existing contacts"
  5. Let it run, then turn off the workflow

Removing a lead status value

Before removing a status from your dropdown, update all contacts currently at that status to a different one. If you remove the status while contacts still have that value, those contacts will have a lead status that no longer exists in your dropdown — it won't display correctly and may cause issues with workflows and reporting.

Lead status vs. lifecycle stage — getting it right

A common mistake is using lead status changes when lifecycle stage changes are needed, or vice versa.

Use lifecycle stage for major funnel transitions: Lead to MQL, SQL to Opportunity, Opportunity to Customer.

Use lead status for within-stage activity tracking: New lead to Attempted Contact to Connected to Open Deal.

If a lead is being disqualified entirely, update both: lead status to "Unqualified" and lifecycle stage to "Other" (or keep it at "Lead" — this is a team-specific decision). Document your convention so everyone applies it consistently.

Verifying your bulk update

After updating lead status in bulk:

  1. Check counts. Filter contacts by the old status — the count should be zero (or reduced by the number you expected to move). Filter by the new status — the count should increase accordingly.
  2. Spot-check records. Open 5-10 individual records and verify the status. Check the activity timeline — the status change should appear as an event.
  3. Verify workflow triggers. If you have workflows triggered by lead status changes (e.g., a task creation workflow when status changes to "Connected"), confirm they fired correctly for the updated records.
  4. Update reports. If you have reports or dashboards that filter by lead status, check that they reflect the changes.

Lead status is a high-velocity property — it changes frequently as leads move through the sales process. Keeping it accurate at scale requires periodic bulk maintenance, and the method you choose should match the complexity and volume of the update.

Related HubSpot guides for planning, previewing, and validating the next step.

Still editing HubSpot records one by one?

Start with 100 free applied records — no credit card required.