Learning Objective
By the end of this guide, you'll understand how lemlist activities sync to HubSpot, which activities are stored as Emails, Calls vs. Notes, and why HubSpot limitations affect activity storage.
Why This Matters
Understanding activity mapping helps you find campaign data in HubSpot. When you integrate lemlist with HubSpot, campaign activities sync to contact records—but they're stored in different places depending on activity type. Know where to look for opens, clicks, LinkedIn actions, calls, and other engagement data to accurately track prospect interactions.
Prerequisites
Before reviewing this mapping:
lemlist and HubSpot integration connected
Active campaigns running in lemlist
Contacts in HubSpot with campaign activity
How Activity Sync Works
HubSpot third-party limitations
HubSpot does not allow third-party apps to store open and click data in dedicated HubSpot Email objects.
Result: lemlist stores most activities as Notes instead of Emails. Only sent emails and replies use the Email object.
Email Activities
Sent: Email
Replied: Email
Open/Click: Note
Bounced: Note
Failed: Note
Unsubscribed: Note (only when the lead unsubscribes from the campaign themselves)
Why Notes for opens/clicks?: HubSpot API restriction—third-party apps cannot write to dedicated open/click objects.
Important: At the moment, we don't push to CRMs when a lead is added to the Unsubscribe section manually. We can only sync the unsubscribe activity if the lead unsubscribed themselves from the campaign.
Campaign Activities
All campaign-level activities are stored as Notes:
Lead Paused/Resumed: Note
Step Skipped: Note
Lemcal Meeting Booked: Note
Interested/Not Interested: Note
LinkedIn Activities
LinkedIn activities use LinkedIn Message object or Notes:
Profile Visited: Note
LinkedIn Failed Action: Note
Message Replied: LinkedIn Message
Message Sent: LinkedIn Message
Invite Sent: Note
Message Opened: Note
Invite Accepted: Note
Why LinkedIn Messages?: HubSpot has dedicated LinkedIn Message object for sent/replied messages. All other LinkedIn activities stored as Notes.
Call Activities
A call placed with lemlist is logged on the HubSpot contact as a Call engagement—not a Note—and is linked to the company as well when the contact has one.
Activity title: "Call done from [campaign name]". Calls placed outside a campaign sync too.
What is sent: direction, duration, phone numbers, date, call outcome, and the owner resolved through your user mapping. The status is always Completed.
Contact matching: the contact has to exist in HubSpot first. If it isn't synced yet, the call waits and is pushed once the contact lands.
Call outcome
lemlist's built-in call statuses map to HubSpot's standard call outcomes, so a call a rep marks as No answer shows as No answer in HubSpot. You can override the mapping status by status in Settings → CRM → Activities → Calls.
⚠️ Custom call statuses have no default mapping. A status your team created in lemlist falls back to Connected in HubSpot until you map it by hand.
⚠️ Rebuilt HubSpot outcomes break the default mapping. The default mapping targets HubSpot's factory call outcomes. If your portal's outcomes were deleted and recreated, they carry different ids and the default mapping points at something that no longer exists. Map each status manually in that case.
Recording, transcript and AI summary
Four independent toggles in Settings → CRM → Activities → Calls control what travels with the call: Calls note, Calls recording, Calls transcript, Calls summary. They are on by default.
Everything enabled is written into the body of the call note, always in the same order—the rep's note, the AI summary, the recording link, then the transcript. A section with nothing in it is skipped.
The note fills up progressively. The call activity is created as soon as the call ends with whatever exists at that moment, then rewritten when the transcript arrives, and rewritten again when the AI summary is generated.
⚠️ The recording link is public. Anyone who opens it from the HubSpot record can listen to the call—no lemlist account required—and the link never expires and cannot be revoked. Turn off Calls recording if that is not acceptable for your team.
⚠️ The note is rebuilt, not merged. Editing that note by hand inside HubSpot is overwritten on the next refresh. Write call notes in lemlist.
The AI summary is synced, not generated: it is pushed only if the call already has one. Syncing never triggers a summary.
lemlist calls only: calls coming from the Aircall or Ringover integrations do not carry a recording, transcript or summary.
Length limit: the HubSpot call note holds 65,000 characters. Longer content is cut from the end—so the transcript goes first—with no warning shown.
Where to Find Activities in HubSpot
Email object (Sent, Replied)
Open contact record in HubSpot
Go to Activity tab
Filter by Emails
View sent emails and replies
Notes object (Opens, Clicks, LinkedIn, Campaign)
Open contact record in HubSpot
Go to Activity tab
Filter by Notes
View all other lemlist activities
LinkedIn Messages object (LinkedIn Sent, Replied)
Open contact record in HubSpot
Go to Activity tab
Filter by LinkedIn Messages
View LinkedIn sent messages and replies
Call object (lemlist calls)
Open contact record in HubSpot
Go to Activity tab
Filter by Calls
Open a call to read the note, the outcome and, when enabled, the summary, recording link and transcript
Activity Sync Rules
Immediate sync: All activities stored immediately as they occur in lemlist campaigns
Contact matching: Activities sync to HubSpot contact matching email address in lemlist lead
Unsubscribe sync behavior: At the moment, we don't push to CRMs when a lead is added to the Unsubscribe section manually. We can only sync activity if the lead unsubscribed themselves from the campaign.
Best Practices
Check Notes for most activities - Opens, clicks, bounces, LinkedIn actions, and campaign activities all in Notes section, not Emails
Filter Activity tab - Use HubSpot Activity tab filters (Emails, Notes, Calls, LinkedIn Messages) to quickly find specific activity types
Understand limitations - Opens/clicks stored as Notes due to HubSpot API restrictions, not lemlist limitation
Use for reporting - Export Notes data if building custom reports on campaign engagement
Train team on mapping - Ensure team knows where to find different activity types (Emails vs. Notes vs. Calls vs. LinkedIn Messages)
Decide on call recordings before you start - The recording link in a call note is public and permanent. Agree as a team whether that is acceptable before leaving Calls recording on.
Troubleshooting
Activities not appearing in HubSpot
Fix: Verify HubSpot integration connected in lemlist Settings > Integrations. Check contact exists in HubSpot with matching email address. Verify activity sync enabled.
Opens/clicks not showing in Email object
Cause: HubSpot API restriction—third-party apps cannot write to Email open/click objects.
Fix: This is expected behavior. Look in Notes section instead of Emails section for opens and clicks.
Every call shows as Connected, whatever the rep marked
Cause: The call status has no mapping—either it is a custom status your team created, or your portal's call outcomes were recreated and no longer match the ones the default mapping targets.
Fix: Open Settings → CRM → Activities → Calls and map each call status to the HubSpot outcome you want.
A call has no transcript or summary in HubSpot
Cause: The transcript and summary do not exist when the call ends—they are added on a later refresh. The call may also have no summary at all, or came from Aircall or Ringover rather than lemlist calling.
Fix: Give it time and reopen the record. Check the call in lemlist actually has a transcript and a summary. Confirm Calls transcript and Calls summary are on in Settings → CRM → Activities → Calls.
A call note edited in HubSpot reverted
Cause: lemlist rebuilds the note on every refresh instead of merging it, so manual edits are replaced.
Fix: Write the note in lemlist on the call record.
LinkedIn activities missing
Fix: Verify LinkedIn steps executed in campaign. Check LinkedIn Messages object for sent/replied. Check Notes for other LinkedIn activities (profile visits, invites, opens).
Important Notes
⚠️ HubSpot API limitation: Opens and clicks stored as Notes (not Emails) because HubSpot does not allow third-party apps to write to dedicated open/click objects. This is a HubSpot restriction, not a lemlist limitation.
⚠️ Unsubscribe section limitation: At the moment, we don't push to CRMs when a lead is added to the Unsubscribe section manually. We can only sync the unsubscribe activity if the lead unsubscribed themselves from the campaign.
⚠️ Immediate storage: All activities stored immediately as they occur. No delay in sync.
⚠️ Notes vs. Emails: Most activities appear in Notes section, not Emails section. Train team to check Notes for engagement data.
⚠️ Call recording links are public and permanent: anyone opening the link from HubSpot can listen to the call without a lemlist account, and the link cannot be revoked.
Quick Reference: Activity Storage
Email object:
Sent
Replied
Call object:
Calls placed with lemlist, in or outside a campaign
LinkedIn Message object:
Message Sent
Message Replied
Notes object (everything else):
Opens
Clicks
Bounces
Failed
Unsubscribed (only when the lead unsubscribes from the campaign themselves)
Lead Paused/Resumed
Step Skipped
Lemcal Meeting Booked
Interested/Not Interested
LinkedIn Profile Visited
LinkedIn Message Opened
LinkedIn Invite Sent
LinkedIn Invite Accepted
LinkedIn Failed Action

