A webhook for every Teams meeting transcript
Skip the Graph API plumbing. AI Meeting Notetaker POSTs a signed JSON event to your HTTPS endpoint after every recorded Teams meeting, with the summary, action items, key points and links to the transcript.
- ✓ 5 meetings free
- ✓ No Copilot license
- ✓ No bot in your calls
Preview — exactly what we'll send
What arrives in Custom webhook after a meeting — generated by the same code that sends it.
{
"event": "recording.completed",
"id": "evt_cd7dba95-872e-4e51-aa6f-336f2f652609",
"test": false,
"created_at": "2026-11-06T19:39:05.119Z",
"recording": {
"id": "rec_sample",
"title": "Weekly client sync",
"status": "completed",
"recorded_at": "2026-11-06T17:39:05.119Z",
"duration_min": 47,
"summary": "Firewall migration moves to next Tuesday; backup alerts will go to the on-call rota. Priya approves the change freeze by Friday.",
"key_points": [
"Firewall migration moves to next Tuesday",
"Backup alerts will go to the on-call rota"
],
"action_items": [
{
"task": "Send the revised migration window",
"owner": "Jon"
},
{
"task": "Approve the change-freeze exception",
"owner": "Priya"
}
],
"sections": [],
"url": "https://notetakerforteams.com/",
"app_url": "https://notetakerforteams.com/app",
"preview_image_url": "https://notetakerforteams.com/sample-meeting-preview.jpg",
"transcript_txt_url": "https://notetakerforteams.com/",
"transcript_docx_url": "https://notetakerforteams.com/"
}
}The problem
What people run into
- Graph change notifications for transcripts need app permissions, certificates and renewals
- Transcript API access is off by default in every tenant since July 2026
- You still need to transcribe or summarize yourself
The do-it-yourself route
- Register an Entra app and get admin consent for OnlineMeetingTranscript.Read.All
- Create an application access policy in Teams PowerShell
- Turn on the tenant switch "Graph access to transcripts" — off by default since July 2026, or every call returns 403
- Find the meeting and transcript IDs, download the .vtt and parse it (it isn't JSON)
- Summarize it with your own AI service, then format and send the result
- Keep it running when tokens, permissions or Microsoft's APIs change
With AI Meeting Notetaker it's one sign-in and one link.
Step by step
How to set it up (about a minute)
- 1Sign in to AI Meeting Notetaker with your Microsoft account — 2 clicks, no admin consent.
- 2Open Integrations → Custom webhook.
- 3We POST JSON to your HTTPS URL when a meeting is ready (see the example above).
- 4Verify the
webhook-signatureheader with your signing secret (Standard Webhooks: HMAC-SHA256 ofid.timestamp.body). - 5Return any 2xx within 10 seconds. Network errors, 429 and 5xx are retried about 1, 2 and 4 minutes later; after repeated failures we pause the webhook and email you.
- 6Done. Every recorded Teams meeting is delivered automatically from now on.
FAQ
Custom webhook: common questions
How do I verify the signature?+
Standard Webhooks: HMAC-SHA256 of id.timestamp.body with your signing secret (base64 part after whsec_), compared with the webhook-signature header.
What about failures?+
Any 2xx within 10 seconds is success. Network errors, 429 and 5xx are retried 3 times; after repeated failures the webhook is paused and you get an email.
Do I need Microsoft Copilot or Teams Premium?+
No. We transcribe and summarize the recording ourselves, so no Copilot or Teams Premium license is needed — only Teams meeting recording turned on.
Does a bot join my meetings?+
No. Nothing joins the call. We read the recording Teams saves to the organizer's OneDrive after the meeting.
How much does it cost?+
Your first 5 meetings are free (your 3 latest recordings and your next 2 meetings). After that it's $0.99 per meeting on a monthly plan of 10, 30 or 90 meetings — every integration is included.
Related guides
All integrations →Set up Custom webhook in about a minute.
Your first 5 meetings are free.