# get_transcript

Use this to read a bounded page of primary transcript evidence.

## Inputs

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| id | string | Yes | Meeting identifier. |
| cursor | number | No | Character offset; defaults to 0. Minimum: 0. |
| maxChars | number | No | Characters to return; defaults to 12,000 and is capped at 20,000. Minimum: 1. Maximum: 20000. |
| segments | boolean | No | Include only timestamped segments that overlap this transcript page; defaults to false. |

## What you get

- **transcriptText:** The text on this transcript page.
- **segments:** Transcript passages with speaker labels and timestamps. Includes: startSec, endSec, speaker, text, partial.
- **title:** The meeting title.
- **id:** The meeting identifier.
- **nextCursor:** Where to continue reading; null means there are no more pages.
- **dateIso:** The meeting date and time.
- **cursor:** The position of this page in the results.
- **totalChars:** The length of the full transcript, in characters.
- **truncated:** Whether more transcript text remains to be read.
- **metadata:** Additional details about the meeting.

## Example

Replace meeting-id-from-list with a meeting ID returned by list_meetings. This is a placeholder, not a real meeting.

Call `get_transcript` with:

```json
{
  "id": "meeting-id-from-list",
  "maxChars": 12000,
  "segments": true
}
```

Illustrative input, checked against this catalog at build time.

## Full description

Use this to read a bounded page of primary transcript evidence. Continue with nextCursor until null for full coverage, check revision metadata, and request timestamped source speaker labels with segments. Never infer speakers from calendar invitees. Use fetch for the whole transcript and separately attributed calendar/capture context.

Read-only · Server 0.9.1

Source commit: c52988b5026fecbbc29ea5a3bf29c2c601ca314a

## Tool definition

```json
{
  "name": "get_transcript",
  "title": "Read a Meetly transcript page",
  "description": "Use this to read a bounded page of primary transcript evidence. Continue with nextCursor until null for full coverage, check revision metadata, and request timestamped source speaker labels with segments. Never infer speakers from calendar invitees. Use fetch for the whole transcript and separately attributed calendar/capture context.",
  "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "openWorldHint": false,
    "idempotentHint": true
  },
  "securitySchemes": [
    {
      "type": "oauth2",
      "scopes": [
        "meetings:read"
      ]
    }
  ],
  "_meta": {
    "securitySchemes": [
      {
        "type": "oauth2",
        "scopes": [
          "meetings:read"
        ]
      }
    ],
    "openai/toolInvocation/invoking": "Reading transcript…",
    "openai/toolInvocation/invoked": "Transcript page ready"
  },
  "inputSchema": {
    "type": "object",
    "additionalProperties": false,
    "properties": {
      "id": {
        "type": "string",
        "minLength": 1,
        "description": "Meeting identifier."
      },
      "cursor": {
        "type": "number",
        "minimum": 0,
        "description": "Character offset; defaults to 0."
      },
      "maxChars": {
        "type": "number",
        "minimum": 1,
        "maximum": 20000,
        "description": "Characters to return; defaults to 12,000 and is capped at 20,000."
      },
      "segments": {
        "type": "boolean",
        "description": "Include only timestamped segments that overlap this transcript page; defaults to false."
      }
    },
    "required": [
      "id"
    ]
  },
  "outputSchema": {
    "type": "object",
    "additionalProperties": false,
    "properties": {
      "id": {
        "type": "string"
      },
      "title": {
        "type": "string"
      },
      "dateIso": {
        "type": "string",
        "format": "date-time"
      },
      "transcriptText": {
        "type": "string"
      },
      "cursor": {
        "type": "number"
      },
      "nextCursor": {
        "type": [
          "number",
          "null"
        ]
      },
      "totalChars": {
        "type": "number"
      },
      "truncated": {
        "type": "boolean"
      },
      "metadata": {
        "type": "object",
        "additionalProperties": {
          "type": [
            "string",
            "number",
            "boolean",
            "null"
          ]
        }
      },
      "segments": {
        "type": "array",
        "items": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "startSec": {
              "type": "number"
            },
            "endSec": {
              "type": "number"
            },
            "speaker": {
              "type": "string"
            },
            "text": {
              "type": "string"
            },
            "partial": {
              "type": "boolean"
            }
          },
          "required": [
            "startSec",
            "endSec",
            "speaker",
            "text",
            "partial"
          ]
        }
      }
    },
    "required": [
      "id",
      "title",
      "dateIso",
      "transcriptText",
      "cursor",
      "nextCursor",
      "totalChars",
      "truncated"
    ]
  }
}
```

[All tools](/tools/)
