OCTOBER 12, 2025
I built this setup to make it easier to see whether a contact has any meetings coming up. If you’ve ever opened a contact record in HubSpot and found yourself thinking, “Do they have an upcoming meeting?” this one’s for you. It’s a simple automation that saves a few clicks and keeps your data clean without needing any fancy tools.
Stop trying to remember who has an upcoming meeting... here’s how to track it in HubSpot
Create the Properties
You’ll need two contact properties to make this work.
1. Number of Associated Meetings
Create a contact property called Number of Associated Meetings.
Make it a rollup property.
To create it:
- Property type: Rollup
- Rollup type: Count
- Number format: Formatted number
- Associated record type: Meeting
- Associated record property: Record ID
This property will show how many meetings are connected to each contact.
This property is used as the trigger for one of the workflow you’ll set up.
2. Upcoming Meeting
Create a contact property called Upcoming Meeting.
Make it a dropdown select with the following options:
- Yes
- No
Once it’s running, here’s what each value represents:
Yes → The contact has a meeting today or in the future
No → Their last meeting is in the past
Blank → They’ve never had a meeting on record
It’s a small thing, but it becomes really useful when filtering lists, managing marketing flows, or building reports.
Build the Workflows
There are two workflows that keep the property up to date.
Workflow 1: Contact | Upcoming Meeting – Step 1
This workflow triggers whenever a contact gets a new meeting booked or when an existing meeting is updated.
Make sure you allow re-enrollment, so contacts can re-enter whenever their meeting activity changes.
It checks:
- Does the contact have at least one associated meeting? (Branch 1)
- If yes, is that meeting today or sometime in the future? (Branch 2)
- If yes → set Upcoming Meeting = Yes
- If not → set Upcoming Meeting = No
Note: When you create a rollup property, HubSpot will show a value of 0 for contacts with no associated meetings. That technically counts as a known value, even though it means “none.”
Because of that, the first step in the workflow checks whether the Number of Associated Meetings is greater than 0 before doing anything else. This makes sure the workflow only runs when there’s actually at least one meeting linked to the contact.
Workflow 2: Contact | Upcoming Meeting – Step 2 (Daily Schedule)
This workflow runs once a day to keep the data current.
This workflow is set up very similarly to the Step 1 workflow, but with a few key differences. It runs on a daily schedule rather than being triggered by new activity.
The Step 1 workflow updates as soon as any new meeting activity happens, while this one is designed to monitor changes that wouldn’t otherwise trigger based on the Number of Associated Meetings - for example, when the most recent meeting has now moved into the past.
You’ll also notice the trigger is slightly different. Instead of using the Number of Associated Meetings, it uses Record ID is known from any associated meeting. This is because, in HubSpot, a value of 0 is still considered “known.” I don’t want every single contact going through this workflow, and they don’t need to - so this setup only triggers for contacts who have ever had a meeting logged against them.
Trigger:
Why It’s Worth Doing
I originally set this up to stop automations from going out to people who already had a meeting booked.
Now it’s something I use constantly because it makes filters, dashboards, and workflows more reliable.
A few simple use cases:
- Suppress contacts in marketing flows if “Upcoming Meeting = Yes”
- Report on contacts who don’t have any meetings booked
- “No” values represent contacts who have previously had a meeting, which can be useful for retargeting
- Trigger reminders or handoffs based on upcoming meetings
It’s a small bit of effort to build, but it keeps HubSpot smarter every single day!
Quick Reminder
If you spend your days in HubSpot workflows, this one’s an easy win. It’s quick to build, doesn’t require any code, and quietly keeps your contact data accurate behind the scenes. And if you want to take it a step further, this can be replicated on the company level with the exact same setup!