Short answer
HubSpot logs Teams calls as metadata and syncs recordings and transcripts for Teams meetings, but not for Teams Phone calls. Getting phone recordings needs a custom pipeline: Microsoft Graph to fetch the artifacts, then HubSpot's third-party transcripts API to attach them. Make can run that. Data Hub cannot, because it has no connector for call artifacts. The weak point is plain PSTN calls, which Graph may not expose. Test that first. I researched this and have not built it.
1. What HubSpot does natively
- Teams Phone call logging. HubSpot's Teams app logs inbound and outbound calls to the contact, company, and deals, with a delay. It does not mention recordings or transcripts, so assume none.
- Teams meeting recordings and transcripts. Synced natively. This is meetings, not phone calls.
- Teams Phone recordings and transcripts. Not supported natively. There is an open HubSpot community idea asking for it.
2. The Microsoft side
- Microsoft Graph exposes call recordings and transcripts with change notifications. You need application permissions and an application access policy on the tenant.
- Since 31 July 2026 Graph transcript access is off by default. An admin has to turn on the transcript API setting under Teams meeting settings, or without it you get a 403 error.
- Real phone (PSTN) calls are the weak point. A Tech Community thread ends with no supported way to fetch PSTN recordings with application permissions, and one endpoint I found is beta and experimental. I did not test it.
- A meeting-type or ad hoc call with transcription turned on may be retrievable. A plain PSTN call may not be.
3. The HubSpot side
The Calls object has fields including a recording URL and body, and the CRM API can create or update calls. For transcripts, HubSpot has a third-party transcripts API that takes an engagement ID and an array of utterances with speaker, text, and start and end times in milliseconds. It is OAuth only, so a private app token will not work, and it needs the calling transcripts read and write scopes.
4. Make or Data Hub
Data Hub does not fit. It syncs and transforms data that HubSpot already holds and has no Graph connector for call artifacts. Make works with these pieces: an Azure app registration calling Graph, a trigger (a webhook with a subscription-renewal scenario, or polling as a simpler fallback), a match from the caller to a HubSpot contact by phone number, a call engagement with the recording link, and an OAuth connection for the transcripts call. Store the recording as a link to the SharePoint or OneDrive file, because HubSpot will not host the media.
5. Suggested path
- Turn on the admin setting, then test whether your Teams Phone calls produce recording or transcript entries in Graph. That decides everything.
- If they do, build the Make pipeline above.
- If they do not, the options are a compliance recorder or a Teams-native calling app. All of them are heavier.
- Ask first which kind of "Teams Phone recordings" the client means. Calls recorded in Teams land in OneDrive or SharePoint, and whether Graph can reach them depends on the call type.
This is research, not a finished build. There are no screenshots because nothing was built in a portal.
Sources
- HubSpot Knowledge Base: Log Microsoft Teams calls to HubSpot records
- HubSpot Knowledge Base: Sync Teams meeting recordings and transcripts to HubSpot
- HubSpot developer docs: Third-party transcripts
- Microsoft Q&A: Graph transcript access change
- Microsoft Tech Community: Teams Phone recordings via API