Tool: update_presentation
Updates a presentation with set of batchUpdate requests.
Corresponds to presentations.batchUpdate in the REST API.
The list of possible updates is:
createSlide: Creates a new slide. Schema:objectId(string, optional): A user-supplied object ID. Must be unique if specified (5-50 characters, matching [a-zA-Z0-9_-:]). If omitted, an ID is generated.insertionIndex(integer, optional): Zero-based index indicating where to insert the slide. If omitted, inserted at the end.slideLayoutReference(object, optional): Layout reference of the slide to insert (exactly one required if specified):predefinedLayout(string): Predefined layout name (e.g. "BLANK", "TITLE_AND_BODY", "TITLE", "SECTION_HEADER", "SECTION_TITLE_AND_DESCRIPTION", "ONE_COLUMN_TEXT", "MAIN_POINT", "BIG_NUMBER", "TITLE_AND_TWO_COLUMNS").layoutId(string): Layout ID from the current master.placeholderIdMappings(array of objects, optional): Mappings for placeholders from layout to slide. Each item:layoutPlaceholder(object):{"type": string, "index": integer}.objectId(string, required): User-supplied object ID for the placeholder element.
createShape: Creates a new shape. Schema:objectId(string, optional): A user-supplied object ID. If omitted, an ID is generated.elementProperties(object, required): Element location and sizing:pageObjectId(string, required): Object ID of the page where the shape is located.size(object, optional):{"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}(unit: "PT" or "EMU").transform(object, optional): AffineTransform{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.shapeType(string, required): Type of shape (e.g. "RECTANGLE", "ROUND_RECTANGLE", "ELLIPSE", "TEXT_BOX", "LINE", etc.).
createTable: Creates a new table. Schema:objectId(string, optional): A user-supplied object ID. If omitted, an ID is generated.elementProperties(object, required): Element location and sizing:pageObjectId(string, required): Object ID of the page where the table is located.size(object, optional):{"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}.transform(object, optional): AffineTransform{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.rows(integer, required): Number of rows in the table.columns(integer, required): Number of columns in the table.
insertText: Inserts text into a shape or table cell. Schema:objectId(string, required): Object ID of the shape or table.cellLocation(object, optional): Table cell if inserting into table:{"rowIndex": integer, "columnIndex": integer}.text(string, required): Text to insert.insertionIndex(integer, optional): Zero-based character index where text will be inserted. Defaults to 0.
insertTableRows: Inserts rows into a table. Schema:tableObjectId(string, required): Object ID of the table.cellLocation(object, required): Reference cell location:{"rowIndex": integer, "columnIndex": integer}.insertBelow(boolean, required): Whether to insert new rows below the reference cell.number(integer, required): Number of rows to insert (maximum 20).
insertTableColumns: Inserts columns into a table. Schema:tableObjectId(string, required): Object ID of the table.cellLocation(object, required): Reference cell location:{"rowIndex": integer, "columnIndex": integer}.insertRight(boolean, required): Whether to insert new columns to the right of the reference cell.number(integer, required): Number of columns to insert (maximum 20).
deleteTableRow: Deletes a row from a table. Schema:tableObjectId(string, required): Object ID of the table.cellLocation(object, required): Reference cell location:{"rowIndex": integer, "columnIndex": integer}. Deletes the row containing this cell.
deleteTableColumn: Deletes a column from a table. Schema:tableObjectId(string, required): Object ID of the table.cellLocation(object, required): Reference cell location:{"rowIndex": integer, "columnIndex": integer}. Deletes the column containing this cell.
replaceAllText: Replaces all instances of specified text. Schema:replaceText(string, required): Replacement text.containsText(object, required): Criteria for matching text:text(string, required): Text to search for.matchCase(boolean, optional): Whether search is case-sensitive.pageObjectIds(array of strings, optional): If specified, limits replacement to elements on these pages.
deleteObject: Deletes a page or page element from the presentation. Schema:objectId(string, required): Object ID of the page or page element to delete.
updatePageElementTransform: Updates the transform of a page element. Schema:objectId(string, required): Object ID of the page element to update.transform(object, required): AffineTransform{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.applyMode(string, required): Transform apply mode: "RELATIVE" or "ABSOLUTE".
updateSlidesPosition: Updates the position of a set of slides in the presentation. Schema:slideObjectIds(array of strings, required): Object IDs of the slides to move.insertionIndex(integer, required): Zero-based index where slides will be inserted.
deleteText: Deletes text from a shape or a table cell. Schema:objectId(string, required): Object ID of the shape or table.cellLocation(object, optional): Table cell if deleting from table:{"rowIndex": integer, "columnIndex": integer}.textRange(object, optional):{"startIndex": integer, "endIndex": integer, "type": string}. If omitted, all text is deleted.
createImage: Creates an image. Schema:objectId(string, optional): A user-supplied object ID. If omitted, an ID is generated.url(string, required): URL of the image to fetch and store. Must be publicly accessible.elementProperties(object, required): Element location and sizing:pageObjectId(string, required): Object ID of the page where the image will be placed.size(object, optional):{"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}.transform(object, optional): AffineTransform{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.
createVideo: Creates a video. Schema:objectId(string, optional): A user-supplied object ID. If omitted, an ID is generated.source(string, required): Video source: "YOUTUBE" or "DRIVE".id(string, required): Video ID (e.g. YouTube video ID).elementProperties(object, required): Element location and sizing:pageObjectId(string, required): Object ID of the page where the video will be placed.size(object, optional):{"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}.transform(object, optional): AffineTransform{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.
createSheetsChart: Creates an embedded Google Sheets chart. Schema:objectId(string, optional): A user-supplied object ID. If omitted, an ID is generated.spreadsheetId(string, required): ID of the Google Sheets spreadsheet containing the chart.chartId(integer, required): ID of the specific chart in the spreadsheet.linkingMode(string, required): Linking mode: "LINKED" or "NOT_LINKED_IMAGE".elementProperties(object, required): Element location and sizing:pageObjectId(string, required): Object ID of the page where the chart will be placed.size(object, optional):{"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}.transform(object, optional): AffineTransform{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.
createLine: Creates a line. Schema:objectId(string, optional): A user-supplied object ID. If omitted, an ID is generated.elementProperties(object, required): Element location and sizing:pageObjectId(string, required): Object ID of the page where the line will be placed.size(object, optional):{"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}.transform(object, optional): AffineTransform{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.category(string, required): Line category: "STRAIGHT", "BENT", or "CURVED".
refreshSheetsChart: Refreshes a Google Sheets chart. Schema:objectId(string, required): Object ID of the chart to refresh.
updateShapeProperties: Updates the properties of a Shape. Schema:objectId(string, required): Object ID of the shape to update.shapeProperties(object, required): Shape properties to update:shapeBackgroundFill(object, optional):{"solidFill": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}.outline(object, optional):{"outlineFill": {"solidFill": ...}, "weight": {"magnitude": number, "unit": string}, "dashStyle": string}.shadow(object, optional): Shadow properties.link(object, optional): Hyperlink destination:{"url": string}.fields(string, required): Comma-separated list of fields to update (e.g."shapeBackgroundFill"or"*").
updateImageProperties: Updates the properties of an Image. Schema:objectId(string, required): Object ID of the image to update.imageProperties(object, required): Image properties to update:cropProperties(object, optional): Crop offsets:{"leftOffset": number, "rightOffset": number, "topOffset": number, "bottomOffset": number, "angle": number}.transparency(number, optional): Transparency level (0.0 to 1.0).brightness(number, optional): Brightness adjustment (-1.0 to 1.0).contrast(number, optional): Contrast adjustment (-1.0 to 1.0).recolor(object, optional): Recolor effect.shadow(object, optional): Shadow properties.outline(object, optional): Outline properties.link(object, optional): Hyperlink destination:{"url": string}.fields(string, required): Comma-separated list of fields to update (e.g."transparency,brightness"or"*").
updateVideoProperties: Updates the properties of a Video. Schema:objectId(string, required): Object ID of the video to update.videoProperties(object, required): Video properties to update:outline(object, optional): Outline properties.autoPlay(boolean, optional): Whether to play video automatically when presenting.start(integer, optional): Start time in seconds.end(integer, optional): End time in seconds.mute(boolean, optional): Whether audio is muted.fields(string, required): Comma-separated list of fields to update (e.g."autoPlay,mute"or"*").
updatePageProperties: Updates the properties of a Page. Schema:objectId(string, required): Object ID of the page to update.pageProperties(object, required): Page properties to update:pageBackgroundFill(object, optional):{"solidFill": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}or{"stretchedPictureFill": {"contentUrl": string}}.colorScheme(object, optional): Theme color scheme.fields(string, required): Comma-separated list of fields to update (e.g."pageBackgroundFill"or"*").
updateTableCellProperties: Updates the properties of a TableCell. Schema:objectId(string, required): Object ID of the table.tableRange(object, optional): Subset of table cells to update:{"location": {"rowIndex": integer, "columnIndex": integer}, "rowSpan": integer, "columnSpan": integer}. If omitted, applies to all cells.tableCellProperties(object, required): Cell properties to update:tableCellBackgroundFill(object, optional):{"solidFill": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}.contentAlignment(string, optional): Vertical alignment: "TOP", "MIDDLE", "BOTTOM".fields(string, required): Comma-separated list of fields to update (e.g."tableCellBackgroundFill"or"*").
updateLineProperties: Updates the properties of a Line. Schema:objectId(string, required): Object ID of the line to update.lineProperties(object, required): Line properties to update:lineFill(object, optional):{"solidFill": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}.weight(object, optional): Line thickness:{"magnitude": number, "unit": string}.dashStyle(string, optional): Dash style: "SOLID", "DOT", "DASH", "DASH_DOT", "LONG_DASH", "LONG_DASH_DOT".startArrow(string, optional): Start arrow style: "NONE", "STEALTH_ARROW", "FILL_ARROW", "FILL_CIRCLE", "FILL_SQUARE", "FILL_DIAMOND", "OPEN_ARROW", "OPEN_CIRCLE", "OPEN_SQUARE", "OPEN_DIAMOND".endArrow(string, optional): End arrow style (same options asstartArrow).link(object, optional): Hyperlink destination:{"url": string}.fields(string, required): Comma-separated list of fields to update (e.g."lineFill,weight"or"*").
createParagraphBullets: Creates bullets for paragraphs. Schema:objectId(string, required): Object ID of the shape or table.cellLocation(object, optional): Table cell if text is in a table:{"rowIndex": integer, "columnIndex": integer}.textRange(object, optional): Range of text to bullet:{"startIndex": integer, "endIndex": integer, "type": string}.bulletPreset(string, optional): Bullet style preset (e.g. "BULLET_DISC_CIRCLE_SQUARE", "BULLET_DIAMONDX_ARROW3D_SQUARE", "NUMBERED_DIGIT_ALPHA_ROMAN", "NUMBERED_DIGIT_NESTED"). Defaults to "BULLET_DISC_CIRCLE_SQUARE".
replaceAllShapesWithImage: Replaces all shapes matching some criteria with an image. Schema:imageUrl(string, required): Image URL to fetch and insert.imageReplaceMethod(string, optional): Replacement method: "CENTER_INSIDE" (default) or "CENTER_CROP".containsText(object, required): Criteria shapes must match:text(string, required): Text to search for in shapes.matchCase(boolean, optional): Whether search is case-sensitive.pageObjectIds(array of strings, optional): If specified, limits replacement to elements on these pages.
duplicateObject: Duplicates a slide or page element. Schema:objectId(string, required): Object ID of the slide or element to duplicate.objectIds(object, optional): ID mapping for duplicated elements:{"originalObjectId": "newObjectId"}. If omitted, random IDs are assigned.
updateTextStyle: Updates the styling of text within a Shape or Table. Schema:objectId(string, required): Object ID of the shape or table.cellLocation(object, optional): Table cell if text is in a table:{"rowIndex": integer, "columnIndex": integer}.style(object, required): Text styling properties:bold(boolean, optional): Whether text is bold.italic(boolean, optional): Whether text is italic.fontFamily(string, optional): Font family (e.g. "Arial", "Roboto").fontSize(object, optional): Font size:{"magnitude": number, "unit": string}.foregroundColor(object, optional): Font color:{"opaqueColor": {"rgbColor": {"red": number, "green": number, "blue": number}}}.backgroundColor(object, optional): Text background color:{"opaqueColor": ...}.underline(boolean, optional): Whether text is underlined.strikethrough(boolean, optional): Whether text has a strikethrough.smallCaps(boolean, optional): Whether text is rendered in small capital letters.baselineOffset(string, optional): "NONE", "SUPERSCRIPT", or "SUBSCRIPT".link(object, optional): Hyperlink destination:{"url": string}.textRange(object, optional): Range of text to style:{"startIndex": integer, "endIndex": integer, "type": string}. If omitted, applies to all text.fields(string, required): Comma-separated list of fields to update (e.g."bold,foregroundColor"or"*").
replaceAllShapesWithSheetsChart: Replaces all shapes matching some criteria with a Google Sheets chart. Schema:spreadsheetId(string, required): ID of the Google Sheets spreadsheet containing the chart.chartId(integer, required): ID of the specific chart in the spreadsheet.linkingMode(string, required): Linking mode: "LINKED" or "NOT_LINKED_IMAGE".containsText(object, required): Criteria shapes must match:text(string, required): Text to search for in shapes.matchCase(boolean, optional): Whether search is case-sensitive.pageObjectIds(array of strings, optional): If specified, limits replacement to elements on these pages.
deleteParagraphBullets: Deletes bullets from paragraphs. Schema:objectId(string, required): Object ID of the shape or table containing text.cellLocation(object, optional): Table cell if text is in a table:{"rowIndex": integer, "columnIndex": integer}.textRange(object, optional): Range of text to delete bullets from:{"startIndex": integer, "endIndex": integer, "type": string}.
updateParagraphStyle: Updates the styling of paragraphs within a Shape or Table. Schema:objectId(string, required): Object ID of the shape or table.cellLocation(object, optional): Table cell if text is in a table:{"rowIndex": integer, "columnIndex": integer}.style(object, required): Paragraph style properties:alignment(string, optional): Text alignment: "START", "CENTER", "END", "JUSTIFIED".lineSpacing(number, optional): Line spacing percentage (e.g. 100 for 100%).spaceAbove(object, optional): Space above paragraph:{"magnitude": number, "unit": string}.spaceBelow(object, optional): Space below paragraph:{"magnitude": number, "unit": string}.indentFirstLine(object, optional): First line indent:{"magnitude": number, "unit": string}.indentStart(object, optional): Indent at start:{"magnitude": number, "unit": string}.indentEnd(object, optional): Indent at end:{"magnitude": number, "unit": string}.direction(string, optional): Text direction: "LEFT_TO_RIGHT" or "RIGHT_TO_LEFT".spacingMode(string, optional): Spacing mode: "NEVER_COLLAPSE" or "COLLAPSE_LISTS".textRange(object, optional): Range of text to style:{"startIndex": integer, "endIndex": integer, "type": string}. If omitted, applies to all text.fields(string, required): Comma-separated list of fields to update (e.g."alignment,lineSpacing"or"*").
updateTableBorderProperties: Updates the properties of the table borders in a Table. Schema:objectId(string, required): Object ID of the table.tableRange(object, optional): Subset of table borders to update:{"location": {"rowIndex": integer, "columnIndex": integer}, "rowSpan": integer, "columnSpan": integer}. If omitted, applies to entire table.borderPosition(string, required): Border position: "ALL", "BOTTOM", "INNER", "INNER_HORIZONTAL", "INNER_VERTICAL", "LEFT", "OUTER", "RIGHT", "TOP".tableBorderProperties(object, required): Border properties to update:tableBorderFill(object, optional):{"solidFill": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}.weight(object, optional): Border thickness:{"magnitude": number, "unit": string}.dashStyle(string, optional): Dash style: "SOLID", "DOT", "DASH".fields(string, required): Comma-separated list of fields to update (e.g."tableBorderFill,weight"or"*").
updateTableColumnProperties: Updates the properties of a Table column. Schema:objectId(string, required): Object ID of the table.columnIndices(array of integers, required): Zero-based indices of columns to update.tableColumnProperties(object, required): Column properties:columnWidth(object, optional): Width of column:{"magnitude": number, "unit": string}.fields(string, required): Comma-separated list of fields to update (e.g."columnWidth"or"*").
updateTableRowProperties: Updates the properties of a Table row. Schema:objectId(string, required): Object ID of the table.rowIndices(array of integers, required): Zero-based indices of rows to update.tableRowProperties(object, required): Row properties:minRowHeight(object, optional): Minimum row height:{"magnitude": number, "unit": string}.fields(string, required): Comma-separated list of fields to update (e.g."minRowHeight"or"*").
mergeTableCells: Merges cells in a Table. Schema:objectId(string, required): Object ID of the table.tableRange(object, required): Range of cells to merge:{"location": {"rowIndex": integer, "columnIndex": integer}, "rowSpan": integer, "columnSpan": integer}.
unmergeTableCells: Unmerges cells in a Table. Schema:objectId(string, required): Object ID of the table.tableRange(object, required): Range of cells to unmerge:{"location": {"rowIndex": integer, "columnIndex": integer}, "rowSpan": integer, "columnSpan": integer}.
groupObjects: Groups objects, such as page elements. Schema:groupObjectId(string, optional): A user-supplied object ID for the group. If omitted, an ID is generated.childrenObjectIds(array of strings, required): Object IDs of the elements to group (at least 2 required, on same page, not already grouped).
ungroupObjects: Ungroups objects, such as groups. Schema:objectIds(array of strings, required): Object IDs of the groups to ungroup.
updatePageElementAltText: Updates the alt text title and/or description of a page element. Schema:objectId(string, required): Object ID of the page element.title(string, optional): Updated alt text title.description(string, optional): Updated alt text description.
replaceImage: Replaces an existing image with a new image. Schema:imageObjectId(string, required): Object ID of the existing image to replace.url(string, required): URL of the new image.imageReplaceMethod(string, optional): Replacement method: "CENTER_INSIDE" (default) or "CENTER_CROP".
updateSlideProperties: Updates the properties of a Slide. Schema:objectId(string, required): Object ID of the slide to update.slideProperties(object, required): Slide properties:isSkipped(boolean, optional): Whether the slide is skipped in presentation mode.fields(string, required): Comma-separated list of fields to update (e.g."isSkipped"or"*").
updatePageElementsZOrder: Updates the Z-order of page elements. Schema:pageElementObjectIds(array of strings, required): Object IDs of page elements to update (must be on same page, not grouped).operation(string, required): Z-order operation: "BRING_TO_FRONT", "BRING_FORWARD", "SEND_BACKWARD", "SEND_TO_BACK".
importSlides: Imports one or more specified slide pages from a source presentation to this (destination) presentation. Schema:sourcePresentationId(string, required): ID of the source presentation.importIndex(integer, optional): Zero-based index where to import slides. If omitted, imported at the end.sourceSlides(array of objects, optional): Slide ID mappings:[{"sourceSlideObjectId": string, "destinationObjectIds": {"sourceObjectId": "destinationObjectId"}}]. If omitted, all slides are imported.preserveTheme(string, optional): Theme preservation policy: "USE_SOURCE_THEME" or "USE_DESTINATION_THEME".
updateLineCategory: Updates the category of a line. Schema:objectId(string, required): Object ID of the connector line to update.lineCategory(string, required): Line category: "STRAIGHT", "BENT", or "CURVED".
rerouteLine: Reroutes a line such that it's connected at the two closest connection sites on the connected page elements. Schema:objectId(string, required): Object ID of the connector line to reroute.
createAudio: Creates an audio in this presentation. Schema:objectId(string, optional): A user-supplied object ID. If omitted, an ID is generated.source(string, required): Audio source: "DRIVE".sourceAudioId(string, required): ID of the audio file in Google Drive.elementProperties(object, required): Element location and sizing:pageObjectId(string, required): Object ID of the page where the audio will be placed.size(object, optional):{"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}.transform(object, optional): AffineTransform{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.
updateAudioProperties: Updates the properties of an Audio. Schema:objectId(string, required): Object ID of the audio to update.audioProperties(object, required): Audio properties:playbackVolume(integer, optional): Playback volume from 0 to 100.repeat(boolean, optional): Whether to repeat playback indefinitely while presenting.showWhenPresenting(boolean, optional): Whether the audio clip should be visibly shown while presenting.playAcrossSlides(boolean, optional): Whether audio continues to play across slides.fields(string, required): Comma-separated list of fields to update (e.g."playbackVolume,repeat"or"*").
insertComment: Inserts a comment into the presentation. Schema:content(string, required): Plain text comment content.- Anchor (exactly one required):
shapeTextAnchor(object): To anchor to text inside a shape:shapeId(string, required): The object ID of the shape.textRange(object, optional):{"startIndex": int, "endIndex": int}.
objectId(string): To anchor to a page or element.
addCommentReply: Adds a reply to an existing comment. Schema:commentId(string, required): ID of the comment thread.post(object, required):{"content": "reply text"}.
updateCommentPost: Updates the content of a comment post in a comment thread. Schema:commentId(string, required): ID of the comment thread.postId(string, required): ID of the comment post to update.content(string, required): The updated content of the comment post.
deleteComment: Deletes a comment thread. Schema:commentId(string, required): ID of the comment thread to delete.
deleteCommentReply: Deletes a reply post. Schema:commentId(string, required): ID of the comment thread.postId(string, required): ID of the reply post to delete.
The following code sample shows how to use curl to call the update_presentation MCP tool.
| Curl Request |
|---|
curl --location 'https://slidesmcp.googleapis.com/mcp' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "update_presentation", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
Request to update a presentation.
UpdatePresentationRequest
| JSON representation |
|---|
{
"presentationId": string,
"requests": [
{
object
}
],
"writeControl": {
object ( |
| Fields | |
|---|---|
presentationId |
Required. The ID of the presentation to update. |
requests[] |
Required. A list of batchUpdate requests, using the schema and semantics documented at https://developers.google.com/workspace/slides/api/reference/rest/v1/presentations/request |
writeControl |
Optional. Provides control over how write requests are executed. |
Struct
| JSON representation |
|---|
{ "fields": { string: value, ... } } |
| Fields | |
|---|---|
fields |
Unordered map of dynamically typed values. An object containing a list of |
FieldsEntry
| JSON representation |
|---|
{ "key": string, "value": value } |
| Fields | |
|---|---|
key |
|
value |
|
Value
| JSON representation |
|---|
{ "nullValue": null, "numberValue": number, "stringValue": string, "boolValue": boolean, "structValue": { object }, "listValue": array } |
| Fields | |
|---|---|
Union field kind. The kind of value. kind can be only one of the following: |
|
nullValue |
Represents a JSON |
numberValue |
Represents a JSON number. Must not be |
stringValue |
Represents a JSON string. |
boolValue |
Represents a JSON boolean ( |
structValue |
Represents a JSON object. |
listValue |
Represents a JSON array. |
ListValue
| JSON representation |
|---|
{ "values": [ value ] } |
| Fields | |
|---|---|
values[] |
Repeated field of dynamically typed values. |
WriteControl
| JSON representation |
|---|
{ "requiredRevisionId": string } |
| Fields | |
|---|---|
requiredRevisionId |
The revision ID of the presentation required for the write request. If specified and the required revision ID doesn't match the presentation's current revision ID, the request is not processed and returns a 400 bad request error. |
NullValue
Represents a JSON null.
NullValue is a sentinel, using an enum with only one value to represent the null value for the Value type union.
A field of type NullValue with any value other than 0 is considered invalid. Most ProtoJSON serializers will emit a Value with a null_value set as a JSON null regardless of the integer value, and so will round trip to a 0 value.
| Enums | |
|---|---|
NULL_VALUE |
Null value. |
Output Schema
UpdatePresentation responses.
UpdatePresentationResponse
| JSON representation |
|---|
{ "replies": [ { object } ] } |
| Fields | |
|---|---|
replies[] |
A set of batchUpdate responses, using the schema and semantics documented at https://developers.google.com/workspace/slides/api/reference/rest/v1/presentations/response |
Struct
| JSON representation |
|---|
{ "fields": { string: value, ... } } |
| Fields | |
|---|---|
fields |
Unordered map of dynamically typed values. An object containing a list of |
FieldsEntry
| JSON representation |
|---|
{ "key": string, "value": value } |
| Fields | |
|---|---|
key |
|
value |
|
Value
| JSON representation |
|---|
{ "nullValue": null, "numberValue": number, "stringValue": string, "boolValue": boolean, "structValue": { object }, "listValue": array } |
| Fields | |
|---|---|
Union field kind. The kind of value. kind can be only one of the following: |
|
nullValue |
Represents a JSON |
numberValue |
Represents a JSON number. Must not be |
stringValue |
Represents a JSON string. |
boolValue |
Represents a JSON boolean ( |
structValue |
Represents a JSON object. |
listValue |
Represents a JSON array. |
ListValue
| JSON representation |
|---|
{ "values": [ value ] } |
| Fields | |
|---|---|
values[] |
Repeated field of dynamically typed values. |
NullValue
Represents a JSON null.
NullValue is a sentinel, using an enum with only one value to represent the null value for the Value type union.
A field of type NullValue with any value other than 0 is considered invalid. Most ProtoJSON serializers will emit a Value with a null_value set as a JSON null regardless of the integer value, and so will round trip to a 0 value.
| Enums | |
|---|---|
NULL_VALUE |
Null value. |
Tool Annotations
Tool annotations are sent to MCP clients to describe the basic risk of a given tool. Most clients treat these hints as untrusted, but they can be used to decide when a confirmation prompt might be sent to a user.
Along with the title string, the following boolean hints are defined as follows:
readOnlyHint: If true, the tool doesn't modify its environment. Default: false.destructiveHint: If true, then the tool can perform destructive actions. If false, then the tool can only perform additive actions. Default: true.idempotentHint: If true, then calling the tool repeatedly with the same arguments will have no additional effect on its environment. Default: false.openWorldHint: If true, then the tool can interact with an 'open world' of external entities. If false, then the tool can only interact with internal entities. For example, a web search tool would be open world, while a memory tool would not be open world.
Destructive Hint: ✅ | Idempotent Hint: ❌ | Read Only Hint: ❌ | Open World Hint: ✅
Authorization Scopes
Requires one of the following OAuth scopes:
https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.filehttps://www.googleapis.com/auth/presentations