SOC 2 Type II audited Nothing sends without your approval Your data never trains AI
Log in Schedule a demo Schedule a demo

How to Keep HubSpot Data Clean for MSP Sales Teams

HubSpot data at an MSP goes bad after every call, not in an import. Set the rules per deal type, log calls the same day, and catch what slips every night.

Nathan Freystaetter 9 min read

Picture the Monday pipeline review at an IT MSP.

The managed services renewal for your biggest client shows a close date from last quarter. The firewall refresh project has no amount. The new logo you met two weeks ago is still sitting in “Discovery” because nobody moved it after the second call. And the AE says the line every sales leader has heard: “Oh, that one’s basically signed. I just didn’t update it.”

Nobody in that room is lazy. They’re busy. And the CRM is the first thing to slip in a busy week.

I came up as a data scientist, and the first thing that job teaches you is that bad data is almost never a cleaning problem. It’s a capture problem. The record went wrong the moment someone didn’t write it down.

So this post is about keeping HubSpot clean at the source. If you want the short answer, it’s on our page for IT MSPs. Here’s the long one.

Why does HubSpot data go bad at an MSP?

Because an MSP account executive works several kinds of deals at once, and every one of them leaves admin behind.

In a single week an AE might prep a QBR (quarterly business review), chase a managed services renewal, scope a project upsell, and run a discovery call with a new prospect. Each deal has a different shape. Each one ends with notes to log, a stage to move, and a close date to fix.

There’s a second reason that’s specific to MSPs. The service side of the business lives in the PSA, the professional services automation tool that runs tickets, agreements, and billing. Your AEs bounce between the two systems all day. Whatever they don’t carry back into HubSpot goes stale.

Here’s what that looks like in the pipeline:

  • Open deals with close dates in the past. Nobody knows when they’ll really close, so the forecast can’t either.
  • Deals with no next step. Nobody knows who owes whom an email.
  • Deals with no amount. Project deals are the usual offender.
  • Duplicate contacts and companies. The client’s IT contact emails from two addresses and now exists twice.
  • Call notes that never made it in. They’re in a notebook or in someone’s head.

None of those are exotic. Every one of them starts as a two-minute task that didn’t happen.

Clean data starts at capture, not at cleanup

A cleanup Friday treats the symptom. You spend an afternoon fixing close dates, and by the next Friday they’ve drifted again.

The fix is to make the right entry the easy entry, at the moment the work happens. That means three things. Decide what clean means. Make HubSpot enforce the basics. And put something in place that catches what still slips.

Step 1: Decide what clean means for each deal type

Most MSPs run at least three kinds of deals through HubSpot. They don’t need the same fields.

Deal typeFields it can’t be missingWhy it matters
New managed services clientAmount, close date, next step, and decision makerIt’s the deal your forecast leans on most
Project (a migration, a refresh, a security rollout)Amount, close date, project type, and next stepProjects without amounts quietly drop out of the forecast
RenewalRenewal date, current agreement value, and next stepA renewal with a stale date hides a client at risk
Expansion from a QBRAmount, the QBR it came from, and next stepIt ties the upsell back to the conversation that started it

Keep the list short. If a field doesn’t feed a forecast or a decision, don’t require it. Every extra required field is one more reason a rep leaves the deal in the wrong stage.

Custom properties are fine here. If you track the agreement term or the number of users under management, add a property for it. Just make sure someone actually uses it.

Separate renewals from new business if their stages differ. A renewal doesn’t go through discovery. Forcing it through the same pipeline as a new logo is how renewals end up parked in the wrong stage for months.

Step 2: Make HubSpot enforce the basics

HubSpot can do more of this than most teams use.

Require fields at the stage that needs them. HubSpot’s conditional stage properties let you pick properties that show up, and can be required, when a deal is created in a stage or moved into it. Require the amount on “Proposal sent” and the close date on “Verbal.” One catch: the rule applies when a person creates or moves the record by hand.

Create the task when the deal moves. HubSpot’s deal pipeline automation can create and assign a task when a deal enters a stage, on Sales Hub Starter, Professional, and Enterprise. A task like “Confirm the decision date” on entry to “Proposal sent” turns a habit into a reminder.

Review duplicates before you merge them. HubSpot’s duplicate management tool compares contact and company records daily and surfaces likely pairs. Managing them pair by pair needs a Professional or Enterprise subscription. Read each pair before you click, because HubSpot says merged records can’t be reverted.

Rules like these are worth setting up. But they only act on what’s already in a field. They can’t read a conversation and decide what changed on the deal.

Step 3: Log every call the same day

This is the step that decides everything else. If the call is logged the same day with a real next step, most of the mess in the list above never shows up.

A useful call log answers five questions:

  1. Who was on the call?
  2. What did they say they need, in their words?
  3. What did you promise, and by when?
  4. What’s the next step, and what date is it on?
  5. Did anything change on the deal, like the stage, the amount, or the close date?

If your team records calls in Fathom or takes them on Dialpad, most of that is already sitting in a transcript. The work is turning the transcript into a note and a deal update before the day ends.

Step 4: Check every night, not every quarter

Something still slips. A quarterly cleanup finds it three months late. A nightly check finds it while it’s still a two-minute fix.

Here’s the short list I’d check every night:

  • Open deals whose close date already passed
  • Deals with no next step
  • Deals missing an amount
  • Renewals coming up soon with no recent activity

You can build the first three as saved deal views in HubSpot and have someone look at them every morning. That works. It also depends on someone remembering to look.

At an MSP, watch renewals and project deals most closely. A renewal whose close date already passed, or a project with no amount, throws off the forecast more than any other gap.

Step 5: Keep service data in the PSA

Don’t copy tickets, agreements, or billing into HubSpot by hand. Two systems holding the same fact is how one of them ends up wrong. That’s the whole idea behind a single source of truth.

Keep in HubSpot what the sales motion needs: the deal, the contacts, the conversations, the next step, and the renewal date and value. Leave service delivery in ConnectWise, Autotask, or HaloPSA. Which system owns which record deserves its own post. The short version is on our hub under your PSA stays your PSA.

Where Go Fig fits

I built Go Fig to take this admin off the AE’s plate. It’s a sales admin that works in HubSpot or Salesforce and does the work instead of suggesting it.

Here’s what that looks like for clean data:

  • After a call, it drafts the update. The note, the next step, and the deal changes, including the stage and the amount. You approve it and it lands on the right record.
  • When an email arrives, it checks the CRM first. The ready-made Email to CRM skill finds the sender’s contact, or creates one if it doesn’t exist, and stages a follow-up task.
  • Every night, it checks the pipeline. Deals with no next step, close dates that already passed, and missing amounts get flagged or fixed with your OK.
  • Your custom properties come through. Ask Celeste, Go Fig’s AI analyst, for “my renewal deals closing this quarter” and see the answer with the HubSpot records it came from.

Every change waits in your Feed until you approve it. You can approve from the Feed, from Slack, or from email. Once you trust a specific action, like logging a note, you can let it run on its own and keep everything else waiting.

Two things it doesn’t do. It doesn’t replace your PSA, and there’s no PSA connector today. Tickets, agreements, and billing stay exactly where they are. The hub walks through the nightly check under CRM hygiene.

Your first week of clean data

If you want to start Monday, here’s the order I’d do it in:

  1. Monday. Write down the fields each deal type can’t be missing. Keep each list short.
  2. Tuesday. Set up conditional stage properties for those fields in HubSpot.
  3. Wednesday. Build saved views for past close dates, missing next steps, and missing amounts.
  4. Thursday. Work through the duplicate pairs HubSpot has flagged, one at a time.
  5. Friday. Make same-day call logging the rule, and check the three views every morning after that.

None of that needs new software. It needs someone to do the admin every single day, which is exactly the part that slips.

See it on your own HubSpot

If you’d rather have the daily admin done for you, a solutions engineer can connect your HubSpot and inbox and walk through it on your own deals.

Schedule a demo →

Or start with a gut check on your sales system: Take the Agent Readiness Assessment →

Frequently asked questions

How do you keep HubSpot CRM data clean for an MSP sales team?

Fix the data when it is created instead of in a quarterly cleanup. Decide which fields each deal type needs, have HubSpot require them at the right stage, and log every call the same day. Then check every night for deals with no next step, close dates that already passed, and missing amounts.

Which HubSpot deal fields should an MSP require?

Keep the list short and tied to the forecast. A new managed services deal needs an amount, a close date, a next step, and a decision maker. A project needs an amount and a close date, and a renewal needs its renewal date and current agreement value.

Should tickets and agreements from our PSA live in HubSpot?

No. Tickets, agreements, and billing belong in your PSA, such as ConnectWise, Autotask, or HaloPSA. Keep in HubSpot what sales needs: the deal, the contacts, the conversations, the next step, and the renewal date and value.

Does Go Fig sync our PSA with HubSpot?

No. Go Fig has no PSA connector today and does not read from or write to ConnectWise, Autotask, or HaloPSA. It works the sales pipeline in your CRM beside your PSA.

Will Go Fig change HubSpot records without asking?

No. Every change Go Fig wants to make in HubSpot waits in your Feed until you approve it. Your team can let a specific action, like logging a note, run on its own once you trust it.

Related reads

Tomorrow morning your brief could be waiting

We connect your CRM and inbox with you in a 30-minute demo.

Schedule a demo