How do you see how long your team takes to reply to inbound leads in HubSpot?
Stamp the date each inbound lead arrives, stamp the date a rep first reaches out, and let a HubSpot calculation property measure the time between them. Then report on that property by owner and by source. It takes about an hour to set up and gives you a number every sales meeting can use.
This tutorial is for one specific reader: a founder or marketing lead at a small B2B company on HubSpot, with a demo or contact form feeding leads to two to five reps. You suspect some leads wait too long for a reply, but nobody can prove it. By the end, you will have a property on every contact and a report that shows the pattern.
One honest limit up front. The method below measures response time in days, because the workflow date stamp HubSpot documents works on date properties. That is enough to catch leads that sit untouched for a day or more, which is where most of the damage happens. If you need minute-level speed-to-lead, check HubSpot's documentation for datetime options on your account.
What do you need before you start?
You need HubSpot on a Professional or Enterprise subscription, because HubSpot lists calculation properties as available on those tiers. You also need permission to create properties and workflows, a form that creates or updates contacts, and one clear signal your reps already use when they first contact a lead.
That last item matters more than any setting. Response time is only as good as your definition of "responded". For most small teams, the cleanest signal is a status field that reps change when they first reach out, such as moving a lead from new to attempting contact. If your reps do not update anything consistently, fix that habit first. No report can measure an action nobody records.
Check your subscription and the exact feature availability against HubSpot's current documentation before you build. Plans and limits change, and your account may have options this guide does not cover.
Step 1: How do you create the two date properties?
Create two custom contact properties with the date picker field type. Name the first "Inbound lead date" and the second "First rep touch date". Keep them in a property group you can find easily, like "Lead response". These two dates are the start and finish line for every lead.
Go to your property settings, choose the contact object, and create each property. Add a short description to both, explaining which workflow sets it. Six months from now, someone will wonder where these values come from, and the description saves them a search.
Do not reuse an existing field like create date for the start, even though it is tempting. Contacts get created in many ways, including imports and enrichment syncs. You want a start date that only an inbound request sets, so the report measures real buyer requests and nothing else.
Step 2: How do you stamp the inbound lead date automatically?
Build a contact-based workflow that enrolls contacts when they submit your demo or contact form. Add an Edit record action that sets "Inbound lead date" using the option HubSpot labels "Use the date the action completes". That option stamps the date the record reaches the step.
Turn on re-enrollment only if you want to measure repeat requests from the same contact. For most small teams, I would leave it off at first. One clean measurement per lead is easier to trust than a field that changes every time someone downloads a guide.
If you have more than one form that counts as a sales request, add each one to the enrollment trigger. Leave out newsletter signups and content downloads. Those are not requests for a reply, and including them will make your team look slower than it is.
Step 3: How do you stamp the first rep touch date?
Build a second workflow that enrolls contacts when your first-touch signal happens, such as the status field changing to attempting contact, and only if "Inbound lead date" is known and "First rep touch date" is unknown. Add an Edit record action that stamps "First rep touch date" with the date the action completes.
The "is unknown" condition is the important part. It makes sure the date is written once, on the first touch, and never overwritten by a later one. I wrote about why protecting values like this matters in whether an automation should overwrite a field a rep edited.
Test it with a dummy contact. Submit the form, change the status the way a rep would, and confirm both dates appear. Then delete the test contact so it does not skew your report.
Step 4: How do you calculate the response time?
Create a third contact property with the Calculation field type. Choose "Time between" as the calculated property type, set "Inbound lead date" as the start date and "First rep touch date" as the end date. HubSpot will then compute the gap on every contact where both dates exist.
HubSpot's documentation notes that time between properties only work for properties on the same object, which is why both dates live on the contact. It also says raw values for time between are stored in milliseconds, while the displayed value switches between units like hours and days based on size.
That storage detail matters if you export the data. A spreadsheet will show a large number, not a friendly "2 days". Divide by the number of milliseconds in a day if you analyze it outside HubSpot.
Step 5: How do you build the report?
Create a report on contacts that includes the response time property, filtered to contacts where "Inbound lead date" is known. Break it down by contact owner first, then by original source. Exact chart and aggregation options depend on your subscription, so check HubSpot's reporting documentation for what your account supports.
Start simple. A table of recent inbound leads with owner, inbound date, first touch date, and response time is often more useful than a chart. Sales teams argue with averages. They rarely argue with a list of named leads that waited four days.
Add a second view for leads with an inbound date but no first touch date yet. That is your "nobody has replied" list, and it is the most actionable part of the whole setup. Put it on a dashboard your team sees every morning.
How should you use the numbers once you have them?
Look for patterns before you look for blame. Slow responses usually cluster around a cause: weekends, one overloaded rep, a form that routes to nobody, or a lead source that reps distrust. Fix the system cause first. Coaching individuals comes second, and only when the data clearly points there.
The most common fix I see is routing. If leads land without an owner, they wait. If they all go to one person, they wait when that person is busy. My walkthrough on routing inbound leads to the right owner in HubSpot covers the usual fixes.
Set a target your team agrees with, such as same business day for every demo request, and review the report weekly. Once the target holds for a month, tighten it.
What should you do next?
Create the two date properties and both workflows today, test them with one dummy contact, then add the calculation property. Give it two weeks to collect data before you judge anything. Then build the "no reply yet" list and make it part of your team's morning routine.
If you already track stale deals, this pairs well with building a stale deal alert in HubSpot, so leads and deals both have a clock on them.
I build the automations behind lead generation, and response time tracking is one of the first things I set up for small sales teams on HubSpot. If you want help getting this running or fixing what it reveals, reach out and let's chat.
Get found, cited and the back office automated
Let's make your site the source AI engines quote and wire up the systems behind it.
Read more blogs
Let's get your website found and cited by AI
Tell me what you're working on, whether AI search is skipping your product, your back office is buried in manual work, or you need a build that does both.