> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://fastpix.com/docs/agents/notes-agent/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://fastpix.com/docs/_mcp/server. # Notes Agent ## Introduction Notes Agent is an AI-powered meeting assistant built by FastPix. It joins your meetings automatically, records the conversation, and delivers events to your configured webhook. You can also view speaker-attributed transcripts and AI-generated advanced summaries of each meeting from the FastPix dashboard or through an API endpoint. For each meeting, Notes Agent delivers three separate webhook events: one with the video playback URL and an audio signed URL, one with the meeting summary, and one with a transcript signed URL. \ ### Available capabilities * Auto-joins any video meeting where `notes@fastpix.ai` is invited as a guest. * Captures full-meeting audio and video as a background participant. * Produces speaker-attributed transcripts and AI-generated advanced summaries of each meeting. * Pushes the complete notes payload to your webhook as soon as the meeting ends. Notes Agent works with Google Meet, Microsoft Teams, and Zoom. \ ## Getting started To connect your account and start receiving automated meeting notes, follow the setup guide for your meeting platform: * [Google Meet](/agents/google-meet) * [Microsoft Teams](/agents/microsoft-teams) * [Zoom](/agents/zoom) \ ## Webhook payload After each meeting, Notes Agent delivers three separate webhook events to your endpoint. Each event carries a different part of the meeting output: * **Notes** - the recorded media references, including the video playback URL and a signed audio file URL. * **Summary** - the AI-generated meeting summary. * **Transcript** - a signed URL to download the VTT transcript file. Notes Agent sends all three events, but the delivery order isn't guaranteed. Design your webhook handler to process each event type independently rather than assuming a fixed sequence. To tell the events apart, check the `type` field on the incoming payload. \ ### Notes event This event delivers the recorded media references. It's the equivalent of the original single webhook, with the transcript URL removed and sent in the [Transcript event](#transcript-event) instead. ```json { "type": "video.agents.notes.ready", "mediaId": "0167eb66-80d2-4ba4-b600-a0010efd288a", "workspaceId": "edf1200f-ce76-4828-ab3a-8473f3fff9c8", "status": "agents.notes.ready", "detailMediaResponse": { "meetingId": "d2a5b516-c3e3-47af-a86a-b9d107f0669d", "googleEventId": "nh85m5r39l54p30f8stn25tgns", "meetLink": "", "videoPlaybackUrl": "", "audioSignedUrl": "" } } ``` #### Fields | Field | Type | Description | | -------------------------------------- | ------------- | -------------------------------------------------------------------------- | | `type` | string | Event type identifier. The value is `video.agents.notes.ready`. | | `mediaId` | string (UUID) | Unique ID of the media recording. | | `workspaceId` | string (UUID) | ID of the workspace that the meeting belongs to. | | `status` | string | Status of the notes generation process. The value is `agents.notes.ready`. | | `detailMediaResponse.meetingId` | string (UUID) | Unique ID of the meeting session. | | `detailMediaResponse.googleEventId` | string | Calendar event ID associated with the meeting. | | `detailMediaResponse.meetLink` | string (URL) | Original meeting URL that was recorded. | | `detailMediaResponse.videoPlaybackUrl` | string (URL) | Playback URL for streaming the recorded meeting video. | | `detailMediaResponse.audioSignedUrl` | string (URL) | Pre-signed URL to download the audio file. Valid for 24 hours. | \ ### Summary event This event delivers the AI-generated summary of the meeting. ```json { "type": "video.agents.notes.summary.ready", "mediaId": "0167eb66-80d2-4ba4-b600-a0010efd288a", "workspaceId": "edf1200f-ce76-4828-ab3a-8473f3fff9c8", "status": "agents.notes.summary.ready", "detailMediaResponse": { "meetingId": "d2a5b516-c3e3-47af-a86a-b9d107f0669d", "googleEventId": "nh85m5r39l54p30f8stn25tgns", "meetLink": "", "meetingSummary": "" } } ``` #### Fields | Field | Type | Description | | ------------------------------------ | ------------- | ------------------------------------------------------------------------------------ | | `type` | string | Event type identifier. The value is `video.agents.notes.summary.ready`. | | `mediaId` | string (UUID) | Unique ID of the media recording. | | `workspaceId` | string (UUID) | ID of the workspace that the meeting belongs to. | | `status` | string | Status of the summary generation process. The value is `agents.notes.summary.ready`. | | `detailMediaResponse.meetingId` | string (UUID) | Unique ID of the meeting session. | | `detailMediaResponse.googleEventId` | string | Calendar event ID associated with the meeting. | | `detailMediaResponse.meetLink` | string (URL) | Original meeting URL that was recorded. | | `detailMediaResponse.meetingSummary` | string | AI-generated summary of the meeting discussion. | You can also generate and retrieve these advanced summaries through the API using the meeting's `mediaId`. See [Generate an advanced summary](/in-video-ai-api/advanced-summary/create-advanced-summary) and [Get the advanced summary](/in-video-ai-api/advanced-summary/get-media-advanced-summary). \ ### Transcript event This event delivers a signed URL to download the speaker-attributed VTT transcript. ```json { "type": "video.agents.notes.transcript.ready", "mediaId": "0167eb66-80d2-4ba4-b600-a0010efd288a", "workspaceId": "edf1200f-ce76-4828-ab3a-8473f3fff9c8", "status": "agents.notes.transcript.ready", "detailMediaResponse": { "meetingId": "d2a5b516-c3e3-47af-a86a-b9d107f0669d", "googleEventId": "nh85m5r39l54p30f8stn25tgns", "meetLink": "", "transcriptSignedUrl": "" } } ``` #### Fields | Field | Type | Description | | ----------------------------------------- | ------------- | ------------------------------------------------------------------------------------------ | | `type` | string | Event type identifier. The value is `video.agents.notes.transcript.ready`. | | `mediaId` | string (UUID) | Unique ID of the media recording. | | `workspaceId` | string (UUID) | ID of the workspace that the meeting belongs to. | | `status` | string | Status of the transcript generation process. The value is `agents.notes.transcript.ready`. | | `detailMediaResponse.meetingId` | string (UUID) | Unique ID of the meeting session. | | `detailMediaResponse.googleEventId` | string | Calendar event ID associated with the meeting. | | `detailMediaResponse.meetLink` | string (URL) | Original meeting URL that was recorded. | | `detailMediaResponse.transcriptSignedUrl` | string (URL) | Pre-signed URL to download the VTT transcript file. Valid for 24 hours. | You can also generate and retrieve the speaker-attributed transcript for a meeting recording through the API using its `mediaId`. See [Generate an attributed transcript](/in-video-ai-api/attributed-transcript/create-attributed-transcript) and [Get the attributed transcript](/in-video-ai-api/attributed-transcript/get-attributed-transcript). > **CAUTION:** The `audioSignedUrl` and `transcriptSignedUrl` URLs expire 24 hours after delivery. Download and store these files in your own system before the URLs expire. \ ## Next steps After setting up Notes Agent, your webhook will receive multiple events. After you verify that the `video.agents.notes.ready` event is being delivered successfully, you can further integrate the response into your application by following the [Play your video](/video-on-demand/play-your-videos) guide. The `audioSignedUrl` and `transcriptSignedUrl` included in the payloads are downloadable files that can be used for further processing. > The single API stack for video: upload, encode, stream, secure, and analyze video at any scale. Explore guides, API references, and SDKs. ## Docs - [Google Meet](https://fastpix.com/docs/agents/google-meet.md): Set up Notes Agent for Google Meet: connect your Google account, invite the bot, and receive automated meeting notes at your webhook. - [Microsoft Teams](https://fastpix.com/docs/agents/microsoft-teams.md): Set up Notes Agent for Microsoft Teams: connect your Microsoft account, invite the bot, and receive automated meeting notes at your webhook. - [Zoom](https://fastpix.com/docs/agents/zoom.md): Set up Notes Agent for Zoom: connect your account, invite the bot, and receive automated meeting notes at your webhook.