Why your HubSpot timeline has 8 entries for one Intercom conversation

You know the exact moment it starts to bother you. You're preparing for a renewal call. You open the contact in HubSpot, scroll to the timeline, and instead of a readable history of what happened with this customer, you find a wall of entries. Fourteen of them, all from the same Tuesday afternoon. One conversation. Fourteen timeline items.

You squint. A tag was added. An assignment changed. A message came in. Another message. A state change. Another tag. And somewhere buried in this mess is the actual thing you need to know: what did the customer want, and did we help them?

I've spent years building and operating support teams that run on Intercom and HubSpot. At Intercom, I saw firsthand how the platform's webhook system works and what it sends downstream. When I started working with teams who had connected the two platforms using the built-in connector, the same complaint came up in almost every conversation: "Our HubSpot timeline is unusable."

It's not a bug. It's a design problem. And once you understand the mechanism, the frustration makes complete sense.

What the built-in connector actually does

When you connect Intercom to HubSpot through the standard connector, here's what happens for a typical support conversation:

  1. Customer sends a message. Timeline entry #1.
  2. Intercom's bot responds with a routing question. Entry #2.
  3. Conversation gets assigned to a team. Entry #3.
  4. A human agent picks it up. Entry #4.
  5. Agent sends a reply. Entry #5.
  6. Customer responds. Entry #6.
  7. Agent adds a tag. Entry #7.
  8. Agent closes the conversation. Entry #8.

That's a short, simple interaction. Two messages from the customer, two from the team. Eight entries on the HubSpot timeline.

For complex cases with multiple replies, reassignments, and tag changes, I've seen timelines hit 15-20 entries for a single conversation. One team I spoke to during our research had a customer record with over 200 timeline entries from Intercom alone. The sales rep assigned to that account told me he'd given up reading the timeline entirely. He just called the customer and asked them to repeat their issue.

This isn't a support problem. It's a sales problem.

Here's where it gets expensive. The people most affected by timeline pollution aren't the support agents who generate the conversations. They work in Intercom. They never see this mess. The people who suffer are the sales reps, account managers, and CS leads who rely on HubSpot as their source of truth.

When a sales rep can't quickly scan a contact's history before a call, they either go in blind or spend minutes trying to piece the story together from fragments. Neither is good.

I did some back-of-the-napkin math with a mid-market SaaS company that had this exact problem. Their numbers:

  • 600 Intercom conversations per month
  • Average of 8 HubSpot timeline entries per conversation
  • 4,800 junk entries per month flowing into their CRM
  • 12 sales reps each reviewing about 15 contact timelines per day before outreach

Each rep had to mentally filter through these fragmented entries to find what mattered. We timed it. On average, scanning and dismissing irrelevant Intercom entries added about 3 minutes to each prospect review. Some reps were faster. Some gave up and skipped the timeline entirely.

3 minutes x 15 reviews x 12 reps = 540 minutes per day. Nine hours. More than one full-time employee's workday, spent scrolling past tag changes and bot messages.

The support ops lead who showed me these numbers looked tired. She'd tried to fix it three times: first by building a Zapier filter, then by asking Intercom support for configuration options that don't exist, then by asking her sales team to "just ignore the Intercom stuff." None of it worked.

Why the connector works this way

Most existing Intercom-to-HubSpot connectors use a webhook-per-event model. Every time something happens in Intercom, a webhook fires, and the connector creates a corresponding entry in HubSpot. This makes sense from an engineering standpoint. Webhooks are event-driven. Each event maps to one action.

But the result is that a conversation, which is conceptually one thing (a customer had a question, someone helped them, it got resolved), gets shattered into a dozen timeline fragments. There's no aggregation layer. No logic that says "wait, this is all the same conversation, let me package it up into something a human can read."

This is a fundamental architecture decision, not a configuration you can toggle. You can't tell the built-in connector to batch events or consolidate entries. It does what it does.

The timeline noise ratio

I started using a simple metric when talking to teams about this: the Timeline Noise Ratio, or TNR. It's the number of timeline entries created per actual customer conversation.

For most existing connectors, the TNR typically lands between 6:1 and 12:1. Six to twelve timeline entries for every one conversation that matters. The exact number depends on how complex your support workflow is, whether you use bots, and how many tags and reassignments happen per conversation.

A healthy TNR is 1:1. One conversation, one timeline entry that contains everything someone needs to know: who talked, what they said, how it ended, and what attachments were shared.

Here's a quick way to check yours. Open five random contacts in HubSpot who have had recent Intercom conversations. Count the Intercom-related timeline entries. Divide by the actual number of conversations. If the number is above 3:1, you've got a noise problem. Above 6:1, and your sales team has probably already stopped reading the timeline.

What a clean timeline looks like

The fix isn't complicated in concept. Instead of firing a HubSpot entry for every webhook event, you wait until a conversation reaches a natural conclusion (usually when an agent closes it), then capture the entire thing as one formatted note.

That single note contains the full transcript with timestamps, a summary of the outcome, any attachments that were shared, and a link back to the original Intercom conversation. One entry. Complete context. A sales rep can read it in 30 seconds and know exactly what happened.

This is how we built conversation capture in Interhubz. We don't create a timeline entry until the conversation is actually done. And when we do, it's one note with everything in it. Your TNR goes from 8:1 to 1:1.

We also added noise guards so bot-only conversations, auto-closed tickets, and sub-minute interactions never reach HubSpot at all. For most teams, that eliminates another 40-60% of the conversations that had no business being in the CRM in the first place.

What to do right now

If you're reading this and nodding along, there's a quick way to measure how bad it is for your team. Pick ten contacts in HubSpot who've had recent support conversations. Count the total Intercom-related timeline entries across all ten. Divide by the number of actual conversations. That's your TNR.

If it's above 5:1, you're burning real time across your revenue team. The nine-hours-a-day figure I mentioned earlier came from a 100-person company with 12 sales reps. Scale that to your team and the math still holds.

We built Interhubz to solve this problem because we lived it ourselves, across multiple products and thousands of customers. If you want to see what a clean timeline looks like with your actual data, you can try it free for seven days. Setup takes about five minutes.

In the next two posts in this series, we'll look at the technical mechanics behind the clutter and what a polluted timeline actually costs your sales pipeline in closed revenue. If that sounds familiar, stay tuned.


Frequently asked questions

Why does the built-in Intercom-HubSpot connector create so many timeline entries?

The standard connector uses a webhook-per-event architecture. Every Intercom event (message sent, tag added, assignment changed, conversation closed) triggers a separate HubSpot timeline entry. There's no built-in way to aggregate these into a single note per conversation.

Can I configure the existing connector to reduce timeline clutter?

No. The built-in connector doesn't offer controls to batch, filter, or consolidate events before they hit HubSpot. You can disconnect specific event types, but that means losing data rather than organizing it better.

How do I calculate my Timeline Noise Ratio?

Open 5-10 contacts in HubSpot who've had recent Intercom conversations. Count the total Intercom-related timeline entries. Divide by the number of actual conversations those entries represent. A ratio above 3:1 means your timeline has a noise problem. Above 6:1, your sales team has likely stopped reading it.

Does timeline pollution affect reporting and attribution?

Yes. When HubSpot timelines are flooded with low-value entries, engagement metrics, activity reports, and attribution models all get skewed. Marketing attribution breaks when the signal-to-noise ratio in the timeline is too low for automated systems to parse meaningfully.

What's the fastest way to fix this?

Replace the event-per-webhook model with a conversation-level capture approach. Interhubz captures each conversation as a single, formatted note with full context, reducing your TNR to 1:1. Most teams complete setup in under five minutes.

Ready to connect Intercom & HubSpot?

Start your free 7-day trial. No credit card required.