Google Photos
Overview
Section titled “Overview”Google Photos is a cloud-based photo storage and organization service offering automatic backups, AI-assisted search, and shared albums for personal and collaborative media management. With the integration in SquadOS, your agents can create albums, upload images and videos, search media items, and manage photo collections directly in the user’s Google Photos library.
- Official website: https://photos.google.com/
- Composio documentation: docs.composio.dev/toolkits/googlephotos
Authentication
Section titled “Authentication”This tool uses OAuth 2.0 (OAUTH2) to connect.
You will need to authorize access to your Google account. The flow is managed by Composio — no manual credentials are required.
| Field | Required | Description |
|---|---|---|
| Google Account | Yes | Google account with Google Photos access, authorized via OAuth 2.0. |
How to connect in SquadOS
Section titled “How to connect in SquadOS”- Go to Tools in the side menu (
/admin/tools). - Open the Available tab and search for
Google Photos. - Click the card to open the details and hit Connect.
- You’re taken to the secure connection page hosted by Composio, where you authorize access to your Google account.
- Once done, you’re sent back to SquadOS with the account connected and the tool available for your agents. (Connection-flow details in Organization Tools.)
Available actions
Section titled “Available actions”Add Enrichment
Section titled “Add Enrichment”GOOGLEPHOTOS_ADD_ENRICHMENT
Adds an enrichment at a specified position in a defined album.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
albumId | string | Yes | Identifier of the album where the enrichment is to be added. |
albumPosition | object | Yes | Position in the album where the enrichment is to be inserted. Required field with valid position types: FIRST_IN_ALBUM, LAST_IN_ALBUM, AFTER_MEDIA_ITEM (requires relativeMediaItemId), AFTER_ENRICHMENT_ITEM (requires relativeEnrichmentItemId). |
newEnrichmentItem | object | Yes | The enrichment to be added; can be a text, location, or map enrichment. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Batch Add Media Items
Section titled “Batch Add Media Items”GOOGLEPHOTOS_BATCH_ADD_MEDIA_ITEMS
Adds one or more media items to an album in Google Photos.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
albumId | string | Yes | Identifier of the album that the media items are added to. Must be an album created by this application. |
mediaItemIds | array | Yes | Identifiers of the media items to be added. Maximum 50 items. Media items must be created by this application. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Batch Create Media Items
Section titled “Batch Create Media Items”GOOGLEPHOTOS_BATCH_CREATE_MEDIA_ITEMS
Batch upload and create media items in Google Photos. Supports three input methods: 1. urls: Simple list of public URLs (file names extracted automatically); 2. media_files: List of objects with url/file, file_name, and description; 3. files: List of FileUploadable objects for pre-uploaded files. Media items can optionally be added to an album at a specific position. Maximum 50 items per request.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
urls | array | No | Simplified input: List of public URLs of media files to upload. File names will be extracted from URLs automatically. Use media_files for more control over file names and descriptions. |
files | array | No | List of files to upload to Google Photos. |
albumId | string | No | Optional identifier of the album where the media items are to be added. If not specified, media items are added to the user’s library only. |
media_files | array | No | List of media files to upload. Each item can specify either a url (public URL) or a file (FileUploadable object). Maximum 50 items per request. |
albumPosition | object | No | Position in the album to add the media items. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Batch Get Media Items
Section titled “Batch Get Media Items”GOOGLEPHOTOS_BATCH_GET_MEDIA_ITEMS
Returns the list of media items for the specified media item identifiers.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
mediaItemIds | array | Yes | Identifiers of the media items to be requested. Must not contain duplicates. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create Album
Section titled “Create Album”GOOGLEPHOTOS_CREATE_ALBUM
Creates a new album in Google Photos.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
title | string | Yes | Name of the album to be created in Google Photos. Maximum 500 characters. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get Album
Section titled “Get Album”GOOGLEPHOTOS_GET_ALBUM
Returns the album based on the specified albumId.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
albumId | string | Yes | Identifier of the album to be requested. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Download Photos Media Item
Section titled “Download Photos Media Item”GOOGLEPHOTOS_GET_MEDIA_ITEM_DOWNLOAD
Downloads a media item from Google Photos and returns it as a file.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
mediaItemId | string | Yes | ID of the media item to download. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List Albums
Section titled “List Albums”GOOGLEPHOTOS_LIST_ALBUMS
Lists all albums shown to a user in the Albums tab of Google Photos.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
pageSize | integer | No | Maximum number of albums to return. Default 20, maximum 50. |
pageToken | string | No | Continuation token for getting the next page of results. |
excludeNonAppCreatedData | boolean | No | If true, excludes media items not created by this app. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List Media Items (App-Created Only)
Section titled “List Media Items (App-Created Only)”GOOGLEPHOTOS_LIST_MEDIA_ITEMS
Lists media items created by this application from Google Photos. DEPRECATION NOTICE: As of March 31, 2025, the Google Photos Library API ONLY returns media items that were uploaded/created by your application. This action CANNOT access the user’s full photo library. Use cases this action SUPPORTS: listing photos/videos your app previously uploaded to the user’s library; managing app-created content in Google Photos. Use cases this action DOES NOT SUPPORT: accessing photos taken by the user’s camera; viewing photos from other apps or web uploads; listing the user’s entire photo library. For accessing a user’s full library, use the Google Photos Picker API instead.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
pageSize | integer | No | Maximum number of items to return. Default 25, maximum 100. |
pageToken | string | No | Token for getting the next page of results. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List Shared Albums (Deprecated)
Section titled “List Shared Albums (Deprecated)”GOOGLEPHOTOS_LIST_SHARED_ALBUMS
[DEPRECATED — sunset March 31, 2025] Lists all shared albums available in the Sharing tab of the user’s Google Photos app.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
pageSize | integer | No | Maximum number of albums to return. Default 20, maximum 50. |
pageToken | string | No | Continuation token for getting the next page of results. Use the value returned in nextPageToken from the previous response. |
excludeNonAppCreatedData | boolean | No | If true, excludes media items not created by this app. Defaults to false (all albums are returned). This field is ignored if the photoslibrary.readonly.appcreateddata scope is used. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Search Media Items
Section titled “Search Media Items”GOOGLEPHOTOS_SEARCH_MEDIA_ITEMS
Searches for media items in a user’s Google Photos library.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
albumId | string | No | Album to search within. |
filters | object | No | Search filters. |
orderBy | string | No | Sort order for results, e.g. MediaMetadata.creation_time desc. |
pageSize | integer | No | Maximum number of items to return. Default 25, maximum 100. |
pageToken | string | No | Token for getting the next page. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Update Album
Section titled “Update Album”GOOGLEPHOTOS_UPDATE_ALBUM
Updates an album’s title or cover photo in Google Photos.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
title | string | No | New title for the album. Maximum 500 characters. |
albumId | string | Yes | Identifier of the album to update. |
coverPhotoMediaItemId | string | No | ID of the media item to use as album cover photo. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Update Media Item
Section titled “Update Media Item”GOOGLEPHOTOS_UPDATE_MEDIA_ITEM
Updates a media item’s description in Google Photos.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
description | string | Yes | New description for the media item. Must be shorter than 1000 characters. |
mediaItemId | string | Yes | Identifier of the media item to update. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Upload Media
Section titled “Upload Media”GOOGLEPHOTOS_UPLOAD_MEDIA
Upload a media file to Google Photos. Supports images (up to 200MB) and videos (up to 20GB).
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
url | string | No | Public URL of the media file to upload (must be directly accessible). The action will download the file from this URL and upload it to Google Photos. Alternative to file_to_upload. Supported formats: images (JPEG, PNG, GIF, HEIC, etc.) and videos (MP4, MOV, etc.). |
file_name | string | No | File name for the uploaded media. Required when using the url parameter. Should include the file extension (e.g., photo.jpg, video.mp4). |
description | string | No | Optional description for the media item. |
file_to_upload | object | No | The media file to upload to Google Photos. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |