Summary
The Zoom Codex connector currently returns meeting transcripts inline from zoom.get_meeting_assets. For longer transcripts, the raw MCP/tool result can contain the full transcript, but the model-facing function_call_output may be truncated before the agent can reason over the full meeting.
This looks like a connector/API-shape issue rather than a Zoom transcript data-loss issue: the connector can retrieve the full structured transcript, but Codex receives a truncated inline blob.
No private transcript text, attendee names, customer data, patient/clinical details, or company-sensitive details are included in this report.
Sanitized evidence
Observed on a meeting transcript with generic characteristics:
- Meeting length: about 33 minutes
- Raw connector result included the full transcript in
structuredContent
- Raw result had
1271 transcript items
- First transcript timestamp:
00:00:55.000
- Last transcript timestamp:
00:33:46.000
- Model-facing
function_call_output was truncated around 00:06:25 and resumed around 00:26:05
- The output included a truncation marker similar to
...16153 tokens truncated...
Because the agent only sees the truncated model-facing output, it cannot reliably summarize, extract action items, answer questions about the omitted middle of the meeting, or verify completeness.
Current behavior
zoom.get_meeting_assets accepts only:
It returns transcript data inline as a large JSON payload when a transcript is available. There are no cursor, page, time-range, search, or max-size parameters for transcript retrieval.
zoom.get_recording_resource is not an adequate fallback for transcript-only meetings. In the observed case, the meeting had has_transcript=true and has_recording=false; attempting the recording-resource path returned 404.
Requested behavior
Please add a dedicated transcript retrieval API/tool that allows agents to fetch transcripts incrementally and verify completeness without relying on one huge inline payload.
Suggested tool shape:
get_meeting_transcript({
meetingId: string,
start_time?: string,
end_time?: string,
cursor?: string,
page_size?: number,
max_chars?: number,
format?: "items" | "text" | "vtt" | "srt"
})
Suggested response metadata:
{
transcript_source: string,
total_items: number,
returned_items: number,
next_cursor?: string,
truncated: boolean,
items?: TranscriptItem[],
text?: string
}
It would also help to expose one or both of:
search_meeting_transcript({ meetingId, query, start_time?, end_time?, cursor?, page_size? })
get_meeting_action_items({ meetingId, transcript_range?, source? })
Compatibility suggestion
Consider changing get_meeting_assets so it returns transcript metadata/reference only, rather than embedding the full transcript inline. For example:
{
has_transcript: true,
transcript: {
available: true,
total_items: 1271,
first_timestamp: "00:00:55.000",
last_timestamp: "00:33:46.000",
retrieval_tool: "get_meeting_transcript"
}
}
That would keep the asset summary compact while directing agents to a paginated transcript tool when full transcript reasoning is required.
Impact
Without pagination/search/range retrieval, Codex agents can silently miss large parts of transcript-only meetings even though the connector has access to the complete transcript. This can produce incomplete summaries, missed action items, and false confidence in meeting analysis.
Summary
The Zoom Codex connector currently returns meeting transcripts inline from
zoom.get_meeting_assets. For longer transcripts, the raw MCP/tool result can contain the full transcript, but the model-facingfunction_call_outputmay be truncated before the agent can reason over the full meeting.This looks like a connector/API-shape issue rather than a Zoom transcript data-loss issue: the connector can retrieve the full structured transcript, but Codex receives a truncated inline blob.
No private transcript text, attendee names, customer data, patient/clinical details, or company-sensitive details are included in this report.
Sanitized evidence
Observed on a meeting transcript with generic characteristics:
structuredContent1271transcript items00:00:55.00000:33:46.000function_call_outputwas truncated around00:06:25and resumed around00:26:05...16153 tokens truncated...Because the agent only sees the truncated model-facing output, it cannot reliably summarize, extract action items, answer questions about the omitted middle of the meeting, or verify completeness.
Current behavior
zoom.get_meeting_assetsaccepts only:{ "meetingId": "..." }It returns transcript data inline as a large JSON payload when a transcript is available. There are no cursor, page, time-range, search, or max-size parameters for transcript retrieval.
zoom.get_recording_resourceis not an adequate fallback for transcript-only meetings. In the observed case, the meeting hadhas_transcript=trueandhas_recording=false; attempting the recording-resource path returned 404.Requested behavior
Please add a dedicated transcript retrieval API/tool that allows agents to fetch transcripts incrementally and verify completeness without relying on one huge inline payload.
Suggested tool shape:
Suggested response metadata:
It would also help to expose one or both of:
search_meeting_transcript({ meetingId, query, start_time?, end_time?, cursor?, page_size? })get_meeting_action_items({ meetingId, transcript_range?, source? })Compatibility suggestion
Consider changing
get_meeting_assetsso it returns transcript metadata/reference only, rather than embedding the full transcript inline. For example:That would keep the asset summary compact while directing agents to a paginated transcript tool when full transcript reasoning is required.
Impact
Without pagination/search/range retrieval, Codex agents can silently miss large parts of transcript-only meetings even though the connector has access to the complete transcript. This can produce incomplete summaries, missed action items, and false confidence in meeting analysis.