I’m trying to create a reliable “recent marketing engagement” summary on a contact record in HubSpot that sales and leadership can reference without digging through the activity timeline.
Specifically, I want a single contact property (rich text) to describe things like recent page views, form submissions, and email engagement in plain language, based on existing contact-level properties such as Number of form submissions, Marketing emails opened/clicked, Last page seen, Number of page views, and Last engagement date.
I initially attempted this using Data Agent Smart Properties, but ran into limitations with token availability, inconsistent access to populated contact properties, and preview results that only reflected the single “source” property selected. It appears Smart Properties are not well-suited for aggregating structured engagement data across multiple contact properties.
I then moved to a contact-based workflow approach that updates a rich text property (“Last Interesting Moment Description”) using personalization tokens. The workflow enrolls on engagement-related property changes and writes a paragraph summarizing those metrics.
If that's not specific enough, then you could do the following:
Develop a custom code action (in Operations Hub Professional or Enterprise) that leverages the Engagement API, compares timestamps of activities and outcomes to then formulate a "Last interesting moment description"
Continue on the path you started on, by using a contact-based workflow that branches based on whether certain default properties have a recent date or a value greater than 0, then concatenate into a short text.
Look into ChatGPT, Claude, Gemini connectors for HubSpot for a converational solution.
Moderator note: While this solution may not address the original poster’s specific situation, it could be helpful for other community members facing similar challenges.
Karsten Köhler HubSpot Freelancer | RevOps & CRM Consultant | Community Hall of Famer
Hi @cbish , that extra context helps a lot. Once Zoho enters the picture, your instinct to summarize engagement into a single contact property is exactly right.
You’re also correct about Smart Properties. They’re useful for lightweight enrichment, but they’re not designed to aggregate multiple structured engagement metrics into a narrative summary. They evaluate one source at a time and don’t reliably reflect a blended “recent activity” state, so you hit their ceiling pretty quickly.
Between the native options, the workflow approach you’re building is still the most controllable path. A contact-based workflow that re-enrolls on engagement signals and conditionally rewrites a rich text property is how I’ve seen this done successfully. The key is to anchor the logic on recency, not totals. For example, branch on “Last engagement date is within the last X days,” then selectively append snippets like “Viewed pricing page,” “Submitted demo request,” or “Clicked recent marketing email.”
The “Summarize record” action Karsten mentioned is worth testing, but in practice it’s better for internal context than for downstream syncing. The output isn’t deterministic enough if another system depends on it as a sales signal.
Since your sales team lives in Zoho, your architecture makes sense: HubSpot remains the system of engagement truth, and Zoho consumes a curated, sales-friendly snapshot. Just be sure that your summary property is fully overwritten each time, not appended, so Zoho always reflects the latest state and not stale interactions.
Small transparency note since I’m close to this space: I work on Stacksync. In setups like yours, teams often sync exactly this kind of “Last interesting moment” contact property from HubSpot into Zoho in real time, so reps don’t need to interpret raw engagement metrics across systems.
You’re on the right path. The workflow approach is the right abstraction layer here.
Did my answer help? Please mark it as a solution to help others find it too.
Ruben Burdin HubSpot Advisor Founder @ Stacksync Real-Time Data Sync between any CRM and Database
If that's not specific enough, then you could do the following:
Develop a custom code action (in Operations Hub Professional or Enterprise) that leverages the Engagement API, compares timestamps of activities and outcomes to then formulate a "Last interesting moment description"
Continue on the path you started on, by using a contact-based workflow that branches based on whether certain default properties have a recent date or a value greater than 0, then concatenate into a short text.
Look into ChatGPT, Claude, Gemini connectors for HubSpot for a converational solution.
Moderator note: While this solution may not address the original poster’s specific situation, it could be helpful for other community members facing similar challenges.
Karsten Köhler HubSpot Freelancer | RevOps & CRM Consultant | Community Hall of Famer
Hey @karstenkoehler, thanks for the quick response! I agree that best case scenario would be the sales team getting more comfortable in HubSpot, but they're using Zoho at the moment. So we wanted to summarize activity into a property and then sync that field to Zoho so the sales team had visibility.