Reporting on meeting notes

**How to report on whether a CRM meeting activity has a comment/note added by a rep?**

We’re building leaderboard reports/dashboards that track meeting activity across our sales team, and we want to include a metric for whether a rep has added their own notes/comments to a logged meeting.

The challenge we’re running into: the meeting description field (`hs_meeting_body`) appears to auto-populate with the Outlook email body when a meeting is synced, so we can’t simply filter on “description is not empty” to identify meetings where a rep has genuinely added notes.

What we’re trying to achieve:
- Differentiate between meetings that have real rep-added notes vs. ones that only have auto-populated Outlook content in the description
- Surface this as a reportable data point on a sales activity dashboard (e.g. “X out of Y meetings this week had notes added”)

Questions:
1. Is there a native HubSpot property on the meeting activity object that indicates whether a comment or note has been manually added?
2. If not, what’s the recommended approach -- a custom yes/no property that reps tick manually, a workflow-based solution, or something else?
3. Can this be reported on in custom reports using the Activities data source?

Any guidance appreciated!

Hi @PSingh68,

As far as I know, no, there is no property that stores the information whether meeting notes have been added manually or automatically.

You could create a custom meeting property (Settings > Properties > Meeting properties) for that purpose, and yes, you could report on that property in the custom report builder, when you choose the data source “Meetings”.

The value could be set either on the meetings index page (Menu > CRM > Meetings) or via a meetings-based workflow. For example, if you instruct your reps to include the keywords “Manually added” in their notes, a workflow could trigger based on that and set the custom property to “Yes”.

Best regards

HubSpot doesn’t have a clean native “rep added manual meeting notes” flag for this, especially if hs_meeting_body is being populated from Outlook sync.

A practical workaround would be to create a custom activity/meeting property like Rep Notes Added? = Yes/No and make it part of the team’s meeting logging process.

If you want to reduce manual dependency, you could also use a workflow or Ops Hub/custom logic to flag meetings where the body contains something different from the standard Outlook-synced format, but that can get messy unless the synced content follows a predictable pattern.

For reporting, I’d probably keep it simple:

  • Custom meeting property: Rep Notes Added?
  • Reps update it after adding notes
  • Build a custom report using Activities/Meetings
  • Report: meetings completed vs. meetings with notes added

Not perfect, but much cleaner than relying on “description is not empty.”

Hi @PSingh68 ,

As far as I know, HubSpot doesn’t have a native meeting property that specifically tells you whether a rep manually added notes versus content that was automatically synced into the meeting description.

The challenge you’re running into with “hs_meeting_body” is exactly why it’s difficult to report on. Once Outlook syncs the meeting details, the field is no longer a reliable indicator of whether the rep actually documented anything after the meeting.

If your goal is to track meeting quality or rep follow-through, I’d probably avoid relying on the meeting description altogether. A more reliable approach would be to create a simple custom property, such as “Meeting Notes Added” and have reps update it as part of their process. It sounds manual, but it gives you clean reporting and dashboard data.

Another option is to require reps to create a Note activity after meetings and report on associated notes rather than meeting descriptions. That tends to be more reliable if you’re trying to measure meeting documentation habits.

From a reporting perspective, custom reports can absolutely include Activities data, but the challenge is identifying what counts as a “real” note versus auto-generated content. That’s where a custom property or a separate Note activity usually makes reporting much cleaner.

Honestly, if this leaderboard is going to be used for performance tracking, I’d lean toward a process that creates a clear signal rather than trying to infer rep behavior from synced meeting fields. You’ll end up with much more trustworthy reporting
Hope this helped!

Good question, and you’ve already spotted the core problem most people miss: `hs_meeting_body` is not a reliable “did the rep add notes” signal because the calendar/email sync pours the Outlook body into it.

To take your three questions in order:

1. No, there is no native property on the meeting activity object that flags “a human manually typed a note.” HubSpot stores the description in `hs_meeting_body` regardless of whether it came from the sync or from a rep, so there’s nothing built-in to filter on.

2. The cleanest and most defensible approach is a workflow-stamped custom property rather than relying on reps to tick a box manually (a manual yes/no almost always gets gamed or forgotten, which kills the leaderboard’s credibility). Two options that actually work:

- Workflow approach: create a custom checkbox/boolean property on the meeting object, e.g. “Rep notes added (Y/N)”. Use a meeting-based workflow that enrolls on meeting create/update, then check whether `hs_meeting_body` contains the rep’s own content. Since the sync content is fairly predictable (it mirrors the calendar invite / email body), you can branch on patterns the sync produces vs. genuine notes. This is imperfect but gets you most of the way.

- More reliable approach: stop trying to detect notes inside the auto-populated field at all, and give reps a dedicated custom text property like “Meeting recap / notes” that the sync never touches. Then your metric becomes simply “is `meeting recap` not empty” - which is clean, unambiguous, and reportable. A short bit of process change (“log your recap in the Recap field, not the description”) usually beats any detection hack. You can even add a workflow to copy the recap into a boolean for easy counting.

3. Yes. Once you have either a boolean property or a dedicated recap property, you can report on it in custom reports using the Activities data source. Build the report on Activities, filter Activity type = Meeting, and count meetings where your boolean = Yes (or recap is known). For the “X of Y this week” leaderboard, set the date range on the meeting timestamp, group/break down by meeting owner, and use a count of meetings as the value - then add a second metric (or a calculated/derived field) for the subset with notes. A ratio between the two gives you the percentage per rep.

One caveat to test before you roll it out: confirm exactly what your sync writes into `hs_meeting_body` on a few sample meetings (invite body, attendee list, email thread, etc.), because the detection logic in the workflow option is only as good as your assumptions about that auto-populated text. If it varies a lot, the dedicated recap property is the safer bet long-term.

Max Buining

HubSpot CRM-specialist

Pipelines · Forecasting · Dashboards

[

LinkedIn →

](https://www.linkedin.com/in/max-buining-2425b7315/)

@MBuining another friendly reminder that it is against the community guidelines to use AI and not disclose it.