Upload, download, or remove raw file attachments and AI context documents for a meeting. Use `contentType=attachment` for binary files such as PDFs and images; use `contentType=context` for text-biased background material such as company profiles or meeting notes. To manage agenda or action items, use those dedicated tools. Set `contentType` to select the variant and `action` to one of: delete, download, upload. Then provide the fields for the selected combination. contentType=attachment, action=delete: Remove a raw file attachment from a meeting. Use this when the user wants to delete an uploaded file. Deletes an attachment (`{attachment_id}`) from a meeting (`{id}`) together with its stored bytes; requires the `meetings:write` scope. Irreversible. Only a caller with edit rights on the attachment may delete it (403 otherwise), and unknown or cross-meeting ids return 404. contentType=attachment, action=download: Get the raw file bytes of a meeting attachment. Use this when the user wants to retrieve a binary file. Returns the raw bytes of the attachment identified by meeting `{id}` and `{attachment_id}`. Through the MCP gateway the response is a JSON object with `base64`, `filename`, `mime_type`, and `size`. Link attachments return 400. Unknown or inaccessible ids return 404. contentType=attachment, action=upload: Attach a raw or binary file to a meeting. Use this when the user wants to upload a PDF, image, spreadsheet, or other non-text file as a raw attachment; for AI-readable text background material, use the context upload instead. Uploads a raw file to a meeting (`{id}`) as base64. Only `file` is required; `kind` accepts only `file`. Files are stored verbatim, capped at 50MB (413 if exceeded). The 201 body returns the attachment `id`. Not idempotent — retries upload again. contentType=context, action=delete: Remove an AI context document from a meeting. Use this when the user wants to delete background material; raw files are removed with the attachment delete instead. Soft-deletes the AI context document identified by meeting `{id}` and `{context_id}`. For raw file attachments use v1DeleteMeetingAttachment. Returns 204. The call is effectively idempotent: a repeat delete 404s, so retries are safe. contentType=context, action=download: Get the content of an AI context document. Use this when the user wants to retrieve background material; for raw files use the attachment download instead. Returns the stored content of the AI context document identified by meeting `{id}` and `{context_id}`. The sanitized/converted copy is returned when available, otherwise the original bytes. Use v1GetMeetingContext for metadata. Unknown or inaccessible ids return 404. contentType=context, action=upload: Add a text-biased background document the AI can reference. Use this when the user wants to upload company profiles, notes, transcripts, or other text context; it requires `source_format` such as `markdown`, `plain_text`, or `json`. For PDFs, images, and other binary files, use the attachment upload instead. Uploads text-biased material to a meeting. `file` must be base64-encoded; `file_name`/`file_type` override filename/MIME, otherwise `title`/`context_type` are used. `source_format` (e.g. `markdown`, `plain_text`, `json`) is required. Capped at 4.5MB; per-meeting cap may return 400. Not idempotent.
manageMeetingContentUpload, download, or remove raw file attachments and AI context documents for a meeting. Use contentType=attachment for binary files such as PDFs and images; use contentType=context for text-biased background material such as company profiles or meeting notes. To manage agenda or action items, use those dedicated tools.
Set contentType to select the variant and action to one of: delete, download, upload. Then provide the fields for the selected combination.
contentType=attachment, action=delete: Remove a raw file attachment from a meeting. Use this when the user wants to delete an uploaded file.
Deletes an attachment ({attachment_id}) from a meeting ({id}) together
with its stored bytes; requires the meetings:write scope. Irreversible. Only
a caller with edit rights on the attachment may delete it (403 otherwise), and
unknown or cross-meeting ids return 404.
contentType=attachment, action=download: Get the raw file bytes of a meeting attachment. Use this when the user wants to retrieve a binary file.
Returns the raw bytes of the attachment identified by meeting {id} and {attachment_id}. Through the MCP gateway the response is a JSON object with base64, filename, mime_type, and size. Link attachments return 400. Unknown or inaccessible ids return 404.
contentType=attachment, action=upload: Attach a raw or binary file to a meeting. Use this when the user wants to upload a PDF, image, spreadsheet, or other non-text file as a raw attachment; for AI-readable text background material, use the context upload instead.
Uploads a raw file to a meeting ({id}) as base64. Only file is required; kind accepts only file. Files are stored verbatim, capped at 50MB (413 if exceeded). The 201 body returns the attachment id. Not idempotent — retries upload again.
contentType=context, action=delete: Remove an AI context document from a meeting. Use this when the user wants to delete background material; raw files are removed with the attachment delete instead.
Soft-deletes the AI context document identified by meeting {id} and {context_id}. For raw file attachments use v1DeleteMeetingAttachment. Returns 204. The call is effectively idempotent: a repeat delete 404s, so retries are safe.
contentType=context, action=download: Get the content of an AI context document. Use this when the user wants to retrieve background material; for raw files use the attachment download instead.
Returns the stored content of the AI context document identified by meeting {id} and {context_id}. The sanitized/converted copy is returned when available, otherwise the original bytes. Use v1GetMeetingContext for metadata. Unknown or inaccessible ids return 404.
contentType=context, action=upload: Add a text-biased background document the AI can reference. Use this when the user wants to upload company profiles, notes, transcripts, or other text context; it requires source_format such as markdown, plain_text, or json. For PDFs, images, and other binary files, use the attachment upload instead.
Uploads text-biased material to a meeting. file must be base64-encoded;
file_name/file_type override filename/MIME, otherwise title/context_type
are used. source_format (e.g. markdown, plain_text, json) is required.
Capped at 4.5MB; per-meeting cap may return 400. Not idempotent.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Meeting ID | |
| file | No | File to attach (any MIME type, up to 50MB) | |
| kind | No | Attachment kind. Only file is currently creatable | |
| title | No | Document title | |
| action | Yes | The operation to perform | |
| file_name | No | Optional filename for the uploaded file | |
| file_type | No | Optional MIME type for the uploaded file | |
| context_id | No | Context ID | |
| contentType | No | The contentType discriminator | |
| access_level | No | Who may see the attachment | |
| context_type | No | MIME type of the document | |
| attachment_id | No | Attachment ID | |
| source_format | No | Source format (json, csv, tsv, xml, html, yaml, markdown, plain_text) |