Zoom ACTION
Get Meeting Transcript
Get the transcript of a past meeting. A numeric meeting ID is resolved to its most recent ended instance first. Returns Zoom's meeting transcript when there is one, otherwise the meeting's cloud recording audio transcript. Fetches the VTT file server-side using your OAuth token and returns speaker-attributed plain text, the original authenticated URL, and the transcript
source (meeting_transcript or cloud_recording). See the documentation- Action
- Read only
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Zoom account once, then configure and run Get Meeting Transcript from your backend or agent.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "zoom-get-meeting-transcript",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
zoom: { authProvisionId: "apn_xxxxxxx" },
meetingId: "Meeting ID",
},
})
console.log(result)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "zoom-get-meeting-transcript",
"configured_props": {
"zoom": { "authProvisionId": "apn_xxxxxxx" },
"meetingId": "Meeting ID"
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "zoom",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "zoom-get-meeting-transcript",
arguments: {
meetingId: "Meeting ID",
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
meetingId Meeting ID | string | The past meeting to retrieve the transcript for. A numeric meeting ID returns the transcript of its most recent ended instance; to target an earlier occurrence of a recurring meeting, pass that instance's UUID. Only past meetings are listed. Required Dynamic |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- zoom-get-meeting-transcript
- Version
- 0.2.0
- App
- Zoom
- Authentication
- OAuth
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗