> ## Documentation Index
> Fetch the complete documentation index at: https://docs.modulex.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Drive Integration for AI Agents & Workflows

> Google Workspace integration: Drive (files/folders), Docs, Sheets, and Slides via the v3 / v1 REST APIs.

{/* Self-hosted logo — build-time vendored from modulex.json / Iconify (see scripts/lib/logo.js). */}

<img src="https://mintcdn.com/modulexaillc/zKB2qsP6Q61VNLfB/logos/google-drive.svg?fit=max&auto=format&n=zKB2qsP6Q61VNLfB&q=85&s=546e4f6769ab1ab8b79dd1d79187f8ca" alt="Google Drive logo" width="72" height="72" data-path="logos/google-drive.svg" />

## Overview

Add **Google Drive** to any ModuleX agent or workflow. Google Workspace integration via the v3 (Drive) / v1 (Docs, Slides) / v4 (Sheets) REST APIs. Pure HTTP, no SDK dep. 16 actions.

<Info>
  **Categories**: Cloud Infrastructure · File Storage · Document Management · Productivity · **Auth**: OAuth2, Service Account / Access Token · **Actions**: 16
</Info>

## Authentication

<Tabs>
  <Tab title="OAuth2">
    ### OAuth2 Authentication

    Connect using Google OAuth2 (recommended). Provides secure access to Drive, Docs, Sheets, and Slides.

    #### Required Credentials

    | Field         | Description                                | Required | Format                                                  |
    | ------------- | ------------------------------------------ | -------- | ------------------------------------------------------- |
    | Client ID     | Google OAuth2 Client ID from Cloud Console | Yes      | `123456789-xxxxxxxxxxxxxxxx.apps.googleusercontent.com` |
    | Client Secret | Google OAuth2 Client Secret                | Yes      | `-`                                                     |

    #### 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/drive.file`, `https://www.googleapis.com/auth/documents`, `https://www.googleapis.com/auth/spreadsheets`, `https://www.googleapis.com/auth/presentations`
  </Tab>

  <Tab title="Service Account / Access Token">
    ### Service Account / Access Token

    Use a pre-generated access token or service account credentials

    #### Required Credentials

    | Field        | Description                        | Required | Format |
    | ------------ | ---------------------------------- | -------- | ------ |
    | Access Token | A valid Google OAuth2 access token | Yes      | `-`    |
  </Tab>
</Tabs>

## Available Actions

<AccordionGroup>
  <Accordion title="create_text_file — Create a plain text (.txt) or markdown (.md) file via multipart upload">
    ### Parameters

    <ResponseField name="name" type="string" required>
      File name (must end with .txt or .md)
    </ResponseField>

    <ResponseField name="content" type="string" required>
      Text content
    </ResponseField>

    <ResponseField name="parent_folder_id" type="string">
      Parent folder (defaults to root)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "mime_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mime Type"
        },
        "web_view_link": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Web View Link"
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateTextFileOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="update_text_file — Replace a text file's content via media upload; optionally rename in a follow-up call">
    ### Parameters

    <ResponseField name="file_id" type="string" required>
      File ID
    </ResponseField>

    <ResponseField name="content" type="string" required>
      New content
    </ResponseField>

    <ResponseField name="name" type="string">
      Optional new name
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "mime_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mime Type"
        },
        "modified_time": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Modified Time"
        },
        "web_view_link": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Web View Link"
        }
      },
      "required": [
        "success"
      ],
      "title": "UpdateTextFileOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="create_folder — Create a folder">
    ### Parameters

    <ResponseField name="name" type="string" required>
      Folder name
    </ResponseField>

    <ResponseField name="parent_folder_id" type="string">
      Parent folder ID
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "web_view_link": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Web View Link"
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateFolderOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="create_google_doc — Create a Google Doc (Drive create + optional Docs batchUpdate to insert content)">
    ### Parameters

    <ResponseField name="name" type="string" required>
      Document name
    </ResponseField>

    <ResponseField name="content" type="string">
      Initial content (Default: \`\`)
    </ResponseField>

    <ResponseField name="parent_folder_id" type="string">
      Parent folder ID
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "web_view_link": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Web View Link"
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateGoogleDocOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="read_google_doc — Read full text content from a Google Doc">
    ### Parameters

    <ResponseField name="document_id" type="string" required>
      Document ID
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Title"
        },
        "content": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Content"
        },
        "revision_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Revision Id"
        }
      },
      "required": [
        "success"
      ],
      "title": "ReadGoogleDocOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="update_google_doc — Replace all content (read end-index, deleteContentRange, insertText)">
    ### Parameters

    <ResponseField name="document_id" type="string" required>
      Document ID
    </ResponseField>

    <ResponseField name="content" type="string" required>
      New content
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Title"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "required": [
        "success"
      ],
      "title": "UpdateGoogleDocOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="append_to_google_doc — Append content at the end of a doc">
    ### Parameters

    <ResponseField name="document_id" type="string" required>
      Document ID
    </ResponseField>

    <ResponseField name="content" type="string" required>
      Content to append
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Title"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "required": [
        "success"
      ],
      "title": "AppendToGoogleDocOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="create_google_sheet — Create a Sheet (Sheets API create + optional Drive PATCH to move + optional Sheets API values write)">
    ### Parameters

    <ResponseField name="name" type="string" required>
      Spreadsheet name
    </ResponseField>

    <ResponseField name="data" type="array">
      Initial data (2D array)
    </ResponseField>

    <ResponseField name="parent_folder_id" type="string">
      Parent folder ID
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "web_view_link": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Web View Link"
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateGoogleSheetOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="read_google_sheet — Read values from a range (resolves localized sheet name via /spreadsheets?fields=sheets.properties.title)">
    ### Parameters

    <ResponseField name="spreadsheet_id" type="string" required>
      Spreadsheet ID
    </ResponseField>

    <ResponseField name="range" type="string">
      A1 notation (e.g. 'Sheet1!A1:D10') (Default: `Sheet1`)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "spreadsheet_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Spreadsheet Id"
        },
        "range": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Range"
        },
        "values": {
          "items": {
            "items": {},
            "type": "array"
          },
          "title": "Values",
          "type": "array"
        },
        "row_count": {
          "default": 0,
          "title": "Row Count",
          "type": "integer"
        }
      },
      "required": [
        "success"
      ],
      "title": "ReadGoogleSheetOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="update_google_sheet — PUT values into an A1 range">
    ### Parameters

    <ResponseField name="spreadsheet_id" type="string" required>
      Spreadsheet ID
    </ResponseField>

    <ResponseField name="range" type="string" required>
      A1 notation
    </ResponseField>

    <ResponseField name="data" type="array" required>
      2D array of strings
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "spreadsheet_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Spreadsheet Id"
        },
        "updated_range": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Updated Range"
        },
        "updated_rows": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Updated Rows"
        },
        "updated_columns": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Updated Columns"
        },
        "updated_cells": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Updated Cells"
        }
      },
      "required": [
        "success"
      ],
      "title": "UpdateGoogleSheetOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="format_sheet_cells — Format cells (background color + horizontal/vertical alignment) — converts A1 to GridRange">
    ### Parameters

    <ResponseField name="spreadsheet_id" type="string" required>
      Spreadsheet ID
    </ResponseField>

    <ResponseField name="range" type="string" required>
      A1 range
    </ResponseField>

    <ResponseField name="background_color" type="object">
      RGB color \{red, green, blue} (values 0-1)
    </ResponseField>

    <ResponseField name="horizontal_alignment" type="string">
      LEFT / CENTER / RIGHT
    </ResponseField>

    <ResponseField name="vertical_alignment" type="string">
      TOP / MIDDLE / BOTTOM
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "spreadsheet_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Spreadsheet Id"
        },
        "range": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Range"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "required": [
        "success"
      ],
      "title": "FormatSheetCellsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="format_sheet_text — Format text in cells (bold/italic/font_size/color)">
    ### Parameters

    <ResponseField name="spreadsheet_id" type="string" required>
      Spreadsheet ID
    </ResponseField>

    <ResponseField name="range" type="string" required>
      A1 range
    </ResponseField>

    <ResponseField name="bold" type="boolean">
      Bold
    </ResponseField>

    <ResponseField name="italic" type="boolean">
      Italic
    </ResponseField>

    <ResponseField name="font_size" type="integer">
      Font size (pt)
    </ResponseField>

    <ResponseField name="foreground_color" type="object">
      Text RGB color \{red, green, blue}
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "spreadsheet_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Spreadsheet Id"
        },
        "range": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Range"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "required": [
        "success"
      ],
      "title": "FormatSheetTextOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="create_google_slides — Create a blank Slides presentation (+ optional move)">
    ### Parameters

    <ResponseField name="name" type="string" required>
      Presentation name
    </ResponseField>

    <ResponseField name="parent_folder_id" type="string">
      Parent folder ID
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "web_view_link": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Web View Link"
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateGoogleSlidesOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="read_google_slides — Read slide metadata + extract text + placeholder IDs from each slide">
    ### Parameters

    <ResponseField name="presentation_id" type="string" required>
      Presentation ID
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Title"
        },
        "slide_count": {
          "default": 0,
          "title": "Slide Count",
          "type": "integer"
        },
        "slides": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Slides",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "ReadGoogleSlidesOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="add_slide — Add a slide with the given predefined layout">
    ### Parameters

    <ResponseField name="presentation_id" type="string" required>
      Presentation ID
    </ResponseField>

    <ResponseField name="layout" type="string">
      BLANK / TITLE / TITLE\_AND\_BODY / etc. (Default: `BLANK`)
    </ResponseField>

    <ResponseField name="insertion_index" type="integer">
      Insert position (0-based)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "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_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Slide Id"
        },
        "layout": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Layout"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "required": [
        "success"
      ],
      "title": "AddSlideOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="update_slide_content — Replace text in a slide placeholder (deleteText ALL + insertText 0)">
    ### Parameters

    <ResponseField name="presentation_id" type="string" required>
      Presentation ID
    </ResponseField>

    <ResponseField name="slide_id" type="string" required>
      Slide object ID
    </ResponseField>

    <ResponseField name="placeholder_id" type="string" required>
      Placeholder element ID
    </ResponseField>

    <ResponseField name="text" type="string" required>
      New text
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "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_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Slide Id"
        },
        "placeholder_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Placeholder Id"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "required": [
        "success"
      ],
      "title": "UpdateSlideContentOutput",
      "type": "object"
    }
    ```
  </Accordion>
</AccordionGroup>

## Related integrations

<CardGroup cols={3}>
  <Card title="Amazon Web Services" href="/integrations/tools/aws" />

  <Card title="Azure Storage" href="/integrations/tools/azure-storage" />

  <Card title="Calendly" href="/integrations/tools/calendly" />
</CardGroup>

## Links

* [Google Drive](https://drive.google.com)
