← Back
Meeting Summarizer
Automatically syncs Microsoft Teams meeting transcripts to HubSpot CRM with AI-generated summaries. Runs daily at 7 AM UTC.
System Architecture
+---------------+ +---------------+ +---------------+
| Graph | | Claude | | HubSpot |
| API |-----+| AI |-----+| CRM |
| | | | | |
| Transcripts | | Summarize | | Call Notes |
+---------------+ +---------------+ +---------------+
CRON: Daily @ 07:00 UTC DEPLOY: Render
Data Flow
+--------------+ +--------------+ +--------------+ +--------------+
| | | | | | | |
| FETCH |----+| PARSE |----+| SUMMARIZE |----+| SYNC |
| | | | | | | |
+--------------+ +--------------+ +--------------+ +--------------+
| | | |
v v v v
+--------------+ +--------------+ +--------------+ +--------------+
| Query Graph | | Extract VTT | | Claude API | | Create Call |
| API for user | | transcript | | generates | | activity in |
| meetings in | | content and | | structured | | HubSpot with |
| past 7 days | | speaker list | | summary | | full context |
+--------------+ +--------------+ +--------------+ +--------------+
Process Steps
01
Fetch Transcripts
Query Microsoft Graph API for online meetings with transcripts for each target user. Lookback period is configurable (default: 7 days).
02
Check Duplicates
Compare meeting subject and timestamp against existing HubSpot call records to avoid duplicate entries.
03
Summarize with Claude
Send full VTT transcript to Claude API with meeting context. Returns structured summary with key points, action items, and decisions.
04
Create HubSpot Activity
Create call engagement record in HubSpot linked to contact. Includes both raw transcript and AI summary for full context.
Stack
Python
Microsoft Graph API
Claude API
HubSpot API
Render Cron
Runs daily at 07:00 UTC via Render cron job