Skip to main content
Google Slides logo

Overview

Add Google Slides to any ModuleX agent or workflow. Create and edit Google Slides presentations from agents — manage slides, shapes, images, tables, and text via the Google Slides REST API (slides.googleapis.com/v1).
Categories: Productivity & Collaboration · Document Management · Auth: OAuth2 · Actions: 15

Authentication

OAuth2 Authentication

Connect using Google OAuth (recommended)

Required Credentials

FieldDescriptionRequiredFormat
Client IDGoogle Cloud OAuth 2.0 Client IDYes1234567890-abcdefghijklmnop.apps.googleusercontent.com
Client SecretGoogle Cloud OAuth 2.0 Client SecretYesGOCSPX-xxxxxxxxxxxxxxxxxxxxxxxx

OAuth Configuration

  • Authorization URL: https://accounts.google.com/o/oauth2/v2/auth
  • Token URL: https://oauth2.googleapis.com/token
  • Scopes: https://www.googleapis.com/auth/presentations

Available Actions

Parameters

presentation_id
string
required
ID of the target Google Slides presentation.
slide_id
string
required
Object ID of the slide (page) on which to place the image.
url
string
required
Publicly accessible URL of the image to insert; must be reachable by Google’s servers.
height
integer
required
Height of the image in points (1 pt = 1/72 inch).
width
integer
required
Width of the image in points (1 pt = 1/72 inch).
scale_x
integer
Horizontal scale factor for the image. (Default: 1)
scale_y
integer
Vertical scale factor for the image. (Default: 1)
translate_x
integer
Horizontal translation (offset) of the image in points. (Default: 0)
translate_y
integer
Vertical translation (offset) of the image in points. (Default: 0)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "presentation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Presentation Id"
    },
    "image_object_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Image Object Id"
    },
    "replies": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Replies",
      "type": "array"
    },
    "write_control": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Write Control"
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateImageOutput",
  "type": "object"
}

Parameters

presentation_id
string
required
ID of the target Google Slides presentation.
slide_id
string
required
Object ID of the slide on which to place the shape.
type
string
required
Shape type. Common values: ‘TEXT_BOX’, ‘RECTANGLE’, ‘ELLIPSE’, ‘ROUND_RECTANGLE’, ‘ARROW_EAST’, ‘RIGHT_ARROW’, ‘STAR_5’, ‘CLOUD’. See Google Slides API Type enum for the full list.
height
integer
required
Height of the shape in points (1 pt = 1/72 inch).
width
integer
required
Width of the shape in points (1 pt = 1/72 inch).
scale_x
integer
Horizontal scale factor for the shape. (Default: 1)
scale_y
integer
Vertical scale factor for the shape. (Default: 1)
translate_x
integer
Horizontal translation (offset) of the shape in points. (Default: 0)
translate_y
integer
Vertical translation (offset) of the shape in points. (Default: 0)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "presentation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Presentation Id"
    },
    "shape_object_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Shape Object Id"
    },
    "replies": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Replies",
      "type": "array"
    },
    "write_control": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Write Control"
    }
  },
  "required": [
    "success"
  ],
  "title": "CreatePageElementOutput",
  "type": "object"
}

Parameters

title
string
required
Title of the new presentation.

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "presentation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Presentation Id"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    },
    "revision_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Revision Id"
    },
    "raw": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Raw"
    }
  },
  "required": [
    "success"
  ],
  "title": "CreatePresentationOutput",
  "type": "object"
}

Parameters

presentation_id
string
required
ID of the target Google Slides presentation.
layout_id
string
required
Object ID of the slide layout to apply (from presentation.layouts[*].objectId).
insertion_index
integer
Optional 0-based index where the slide is inserted. Omit to append at the end.

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "presentation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Presentation Id"
    },
    "slide_object_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Slide Object Id"
    },
    "replies": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Replies",
      "type": "array"
    },
    "write_control": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Write Control"
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateSlideOutput",
  "type": "object"
}

Parameters

presentation_id
string
required
ID of the target Google Slides presentation.
slide_id
string
required
Object ID of the slide on which to place the table.
rows
integer
required
Number of rows in the table.
columns
integer
required
Number of columns in the table.
height
integer
required
Height of the table in points (1 pt = 1/72 inch).
width
integer
required
Width of the table in points (1 pt = 1/72 inch).
translate_x
integer
Optional horizontal translation (offset) of the table in points.
translate_y
integer
Optional vertical translation (offset) of the table in points.

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "presentation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Presentation Id"
    },
    "table_object_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Table Object Id"
    },
    "replies": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Replies",
      "type": "array"
    },
    "write_control": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Write Control"
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateTableOutput",
  "type": "object"
}

Parameters

presentation_id
string
required
ID of the target Google Slides presentation.
page_element_id
string
required
Object ID of the page element to delete.

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "presentation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Presentation Id"
    },
    "deleted_object_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Deleted Object Id"
    },
    "replies": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Replies",
      "type": "array"
    },
    "write_control": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Write Control"
    }
  },
  "required": [
    "success"
  ],
  "title": "DeletePageElementOutput",
  "type": "object"
}

Parameters

presentation_id
string
required
ID of the target Google Slides presentation.
slide_id
string
required
Object ID of the slide to delete.

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "presentation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Presentation Id"
    },
    "deleted_slide_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Deleted Slide Id"
    },
    "replies": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Replies",
      "type": "array"
    },
    "write_control": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Write Control"
    }
  },
  "required": [
    "success"
  ],
  "title": "DeleteSlideOutput",
  "type": "object"
}

Parameters

presentation_id
string
required
ID of the target Google Slides presentation.
table_id
string
required
Object ID of the table to modify.
column_index
integer
required
0-based index of the column inside the table to delete.

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "presentation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Presentation Id"
    },
    "replies": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Replies",
      "type": "array"
    },
    "write_control": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Write Control"
    }
  },
  "required": [
    "success"
  ],
  "title": "DeleteTableColumnOutput",
  "type": "object"
}

Parameters

presentation_id
string
required
ID of the target Google Slides presentation.
table_id
string
required
Object ID of the table to modify.
row_index
integer
required
0-based index of the row inside the table to delete.

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "presentation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Presentation Id"
    },
    "replies": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Replies",
      "type": "array"
    },
    "write_control": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Write Control"
    }
  },
  "required": [
    "success"
  ],
  "title": "DeleteTableRowOutput",
  "type": "object"
}

Parameters

presentation_id
string
required
ID of the Google Slides presentation to retrieve.

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "presentation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Presentation Id"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    },
    "locale": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Locale"
    },
    "revision_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Revision Id"
    },
    "page_size": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Page Size"
    },
    "slides": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Slides",
      "type": "array"
    },
    "layouts": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Layouts",
      "type": "array"
    },
    "masters": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Masters",
      "type": "array"
    },
    "notes_master": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Notes Master"
    },
    "raw": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Raw"
    }
  },
  "required": [
    "success"
  ],
  "title": "FindPresentationOutput",
  "type": "object"
}

Parameters

presentation_id
string
required
ID of the target Google Slides presentation.
table_id
string
required
Object ID of the table to modify.
column_index
integer
Optional 0-based column index of the reference cell.
insert_right
boolean
Whether the new columns are inserted to the right of the reference cell.
number
integer
Number of columns to insert (max 20 per request). (Default: 1)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "presentation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Presentation Id"
    },
    "replies": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Replies",
      "type": "array"
    },
    "write_control": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Write Control"
    }
  },
  "required": [
    "success"
  ],
  "title": "InsertTableColumnsOutput",
  "type": "object"
}

Parameters

presentation_id
string
required
ID of the target Google Slides presentation.
table_id
string
required
Object ID of the table to modify.
row_index
integer
Optional 0-based row index of the reference cell.
insert_below
boolean
Whether the new rows are inserted below the reference cell.
number
integer
Number of rows to insert (max 20 per request). (Default: 1)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "presentation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Presentation Id"
    },
    "replies": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Replies",
      "type": "array"
    },
    "write_control": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Write Control"
    }
  },
  "required": [
    "success"
  ],
  "title": "InsertTableRowsOutput",
  "type": "object"
}

Parameters

presentation_id
string
required
ID of the target Google Slides presentation.
shape_id
string
required
Object ID of the target shape (must contain a text frame, e.g. a TEXT_BOX).
text
string
required
Text content to insert into the shape.
insertion_index
integer
Optional 0-based character index at which to insert the text. Omit to append at the end.

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "presentation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Presentation Id"
    },
    "replies": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Replies",
      "type": "array"
    },
    "write_control": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Write Control"
    }
  },
  "required": [
    "success"
  ],
  "title": "InsertTextOutput",
  "type": "object"
}

Parameters

presentation_id
string
required
ID of the target Google Slides presentation.
table_id
string
required
Object ID of the target table.
text
string
required
Text content to insert into the table cell.
row_index
integer
Optional 0-based row index of the target cell.
column_index
integer
Optional 0-based column index of the target cell.
insertion_index
integer
Optional 0-based character index within the cell at which to insert the text. Omit to append at the end.

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "presentation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Presentation Id"
    },
    "replies": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Replies",
      "type": "array"
    },
    "write_control": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Write Control"
    }
  },
  "required": [
    "success"
  ],
  "title": "InsertTextIntoTableOutput",
  "type": "object"
}

Parameters

presentation_id
string
required
ID of the target Google Slides presentation.
text
string
required
Text snippet to search for.
replace_text
string
required
Replacement text inserted for every match found.
slide_ids
array
Optional list of slide page object IDs (strings). When supplied, only page elements on these pages are searched.
match_case
boolean
Whether the text match is case-sensitive.

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "presentation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Presentation Id"
    },
    "total_occurrences_changed": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Total Occurrences Changed"
    },
    "replies": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Replies",
      "type": "array"
    },
    "write_control": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Write Control"
    }
  },
  "required": [
    "success"
  ],
  "title": "ReplaceAllTextOutput",
  "type": "object"
}

Limits & Quotas

  • Per-project quotas: Google Slides API defaults to a few hundred read or write requests per 100 seconds per project; per-user limits also apply (see the Slides API quotas page). Quotas are managed in the Google Cloud Console (APIs & Services -> Quotas).
  • batchUpdate body: Slides batchUpdate requests should stay under ~10 MB; for very large updates, batch the work into multiple calls.
  • Insert table rows/columns: capped at 20 per single request, per Google’s documented InsertTableRowsRequest / InsertTableColumnsRequest limits.
  • Error model: non-2xx responses and timeouts are caught and returned as success=False + error rather than raising. Plan for retries on the agent side based on the error string. OAuth tokens that have expired surface as HTTP 401 in the error field.

Cal.com

Canva

ConvertAPI