YouTube
Overview
Section titled “Overview”YouTube is a video-sharing platform with user-generated content, live streaming, and monetization opportunities, widely used for marketing, education, and entertainment. With the YouTube integration in SquadOS, your agents can upload videos, manage playlists, moderate comments, query channel statistics, and interact with live broadcasts in an automated way.
- Official website: https://www.youtube.com/
- Composio documentation: docs.composio.dev/toolkits/youtube
Authentication
Section titled “Authentication”This tool uses OAuth 2.0 (OAUTH2) to connect.
You will need to authorize access to your Google/YouTube account through the OAuth flow hosted by Composio. No manual API key is required.
How to get credentials
Section titled “How to get credentials”YouTube uses OAuth 2.0 via a Google account. Composio manages the authorization flow: simply click Connect and authorize access on the Google screen.
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
YouTube. - 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 with your Google account.
- Once done, you’re sent back to SquadOS with the account connected and the tool available to agents. (Connection-flow details in Organization Tools.)
How do I set up custom Google OAuth credentials for YouTube?
Section titled “How do I set up custom Google OAuth credentials for YouTube?”For a step-by-step guide on creating and configuring your own Google OAuth credentials with Composio, see How to create OAuth2 credentials for Google Apps.
Why am I getting quota errors on YouTube?
Section titled “Why am I getting quota errors on YouTube?”The default OAuth app is shared and has strict quota limits. For production, create your own OAuth app to get a dedicated quota.
Available actions
Section titled “Available actions”Add Video to Playlist
Section titled “Add Video to Playlist”YOUTUBE_ADD_VIDEO_TO_PLAYLIST
Tool to add a video to a playlist by inserting a playlist item. Use when organizing videos into playlists or building curated collections.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
videoId | string | Yes | The YouTube video ID to add to the playlist (typically an 11-character string). |
position | integer | No | The position (zero-based index) where the video should be inserted in the playlist. Position 0 is the first position, position 1 is the second, etc. The position value must not exceed the current number of items in the playlist. If not specified, the video is added to the end of the playlist. |
playlistId | string | Yes | The ID of the playlist to add the video to. You can retrieve playlist IDs using the YOUTUBE_LIST_USER_PLAYLISTS action. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Insert Channel Section
Section titled “Insert Channel Section”YOUTUBE_CREATE_CHANNEL_SECTION
Tool to create a new channel section for the authenticated user’s YouTube channel. Use when organizing channel content into sections like featured playlists, recent uploads, or featured channels.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
snippet | object | Yes | The snippet object contains details about the channel section including its type, title, and position. |
contentDetails | object | No | Content details for the channel section. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Insert Comment Reply
Section titled “Insert Comment Reply”YOUTUBE_CREATE_COMMENT_REPLY
Tool to create a reply to an existing YouTube comment. Use when responding to user comments or engaging in conversations on videos.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
parentId | string | Yes | The ID of the parent comment being replied to. This is the comment that the new reply will be attached to. |
textOriginal | string | Yes | The text content of the reply comment. This cannot be empty and will be posted as a reply to the parent comment. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Create Playlist
Section titled “Create Playlist”YOUTUBE_CREATE_PLAYLIST
Tool to create a new YouTube playlist on the authenticated user’s channel. Use when organizing videos into collections or building curated playlists.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
title | string | Yes | The title of the new playlist. This is a required field. |
description | string | No | The playlist’s description. Provides additional context about the playlist content. |
privacyStatus | string ("public" | "private" | "unlisted") | No | The playlist’s privacy status. public makes it visible to everyone, private restricts access to the owner and specified users, unlisted makes it accessible via link but not publicly listed. If not specified, defaults to YouTube’s default setting. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Delete Channel Section
Section titled “Delete Channel Section”YOUTUBE_DELETE_CHANNEL_SECTION
Tool to delete a YouTube channel section. Use when you need to remove a channel section from a channel. The channel section must exist and the authenticated user must have permission to delete it.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The YouTube channelSection ID for the resource that is being deleted. This is a required parameter. |
onBehalfOfContentOwner | string | No | This parameter is intended exclusively for YouTube content partners. Indicates that the request’s authorization credentials identify a YouTube CMS user acting on behalf of the content owner specified in the parameter value. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Delete Comment
Section titled “Delete Comment”YOUTUBE_DELETE_COMMENT
Tool to delete a YouTube comment owned by the authenticated user or channel. Use when you need to remove a comment from a video. The comment must exist and be owned by the authenticated channel.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The comment ID to delete. This is the unique identifier for the comment resource. The comment must be owned by the authenticated user or channel. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Delete Playlist
Section titled “Delete Playlist”YOUTUBE_DELETE_PLAYLIST
Tool to delete a YouTube playlist owned by the authenticated user/channel. Use when you need to permanently remove a playlist from YouTube. Requires explicit confirmation via confirmDelete: true to prevent accidental deletions.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Specifies the YouTube playlist ID for the playlist being deleted. The playlist must be owned by the authenticated user/channel. |
confirmDelete | boolean | Yes | Explicit boolean confirmation required to execute the deletion. Must be set to true to proceed with deletion. This is a safety measure to prevent accidental playlist deletions. |
onBehalfOfContentOwner | string | No | Indicates that the request’s authorization credentials identify a YouTube CMS user acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Delete Playlist Item
Section titled “Delete Playlist Item”YOUTUBE_DELETE_PLAYLIST_ITEM
Tool to delete a playlist item (remove a video from a playlist). Use when removing specific videos from playlists.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The YouTube playlist item ID for the playlist item that is being deleted. This is the unique identifier for a specific video within a playlist (not the video ID itself). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Delete Video
Section titled “Delete Video”YOUTUBE_DELETE_VIDEO
Tool to delete a YouTube video owned by the authenticated user/channel. Use when you need to permanently remove a video from YouTube. Requires explicit confirmation via confirmDelete: true to prevent accidental deletions. The video must exist and be owned by the authenticated channel.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
videoId | string | Yes | The YouTube video ID (typically an 11-character string) to be deleted. The video must be owned by the authenticated user/channel. |
confirmDelete | boolean | Yes | Explicit boolean confirmation required to execute the deletion. Must be set to true to proceed with deletion. This is a safety measure to prevent accidental video deletions. |
onBehalfOfContentOwner | string | No | Optional parameter used by YouTube content partners to indicate the request is being made on behalf of a content owner whose content is being managed. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Get Channel Activities
Section titled “Get Channel Activities”YOUTUBE_GET_CHANNEL_ACTIVITIES
Gets recent activities from a YouTube channel including video uploads, playlist additions, likes, and other channel events.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
part | string | No | Comma-separated list of activity resource properties to include (e.g., snippet, contentDetails, id). |
channelId | string | Yes | The YouTube channel ID to retrieve activities for. Channel IDs typically start with UC. |
pageToken | string | No | Pagination token from a previous response to get the next page of results. |
maxResults | integer | No | Maximum number of activities to return. |
publishedAfter | string | No | Return activities published after this date-time (RFC 3339 format: YYYY-MM-DDTHH:MM:SSZ). |
publishedBefore | string | No | Return activities published before this date-time (RFC 3339 format: YYYY-MM-DDTHH:MM:SSZ). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Get Channel ID by Handle
Section titled “Get Channel ID by Handle”YOUTUBE_GET_CHANNEL_ID_BY_HANDLE
Retrieves the YouTube Channel ID for a specific YouTube channel handle.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
channel_handle | string | Yes | The YouTube channel handle (e.g., @Google or Google). Accepts handles with or without the @ prefix. Also accepts full YouTube channel URLs (e.g., https://www.youtube.com/@Google), from which the handle will be automatically extracted. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Get Channel Statistics
Section titled “Get Channel Statistics”YOUTUBE_GET_CHANNEL_STATISTICS
Gets detailed statistics for YouTube channels including subscriber counts, view counts, and video counts. Channels can be identified using their ID, handle (e.g., @Google), or username.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | No | Comma-separated list of YouTube channel IDs (e.g., UCddiUEpeqJcYeBxX1IVBKvQ). The YouTube Data API v3 supports up to 50 channel IDs per request; if more than 50 IDs are provided, they will be automatically split into multiple batches and the results will be merged. At least one of id, forHandle, forUsername, or mine must be provided. |
mine | boolean | No | Set to true to retrieve the channel owned by the authenticated user. At least one of id, forHandle, forUsername, or mine must be provided. Cannot be combined with other filter parameters. |
part | string | No | Comma-separated list of channel resource properties to include. Use statistics for subscriber count. |
forHandle | string | No | YouTube channel handle (e.g., @Google or GoogleDevelopers). The @ symbol is optional. At least one of id, forHandle, forUsername, or mine must be provided. |
forUsername | string | No | YouTube username to identify the channel. At least one of id, forHandle, forUsername, or mine must be provided. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Video Details Batch
Section titled “Video Details Batch”YOUTUBE_GET_VIDEO_DETAILS_BATCH
Retrieves multiple YouTube video resource parts in a single batch call. Use when you need cohort-level metrics for many videos to reduce quota usage and latency.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
hl | string | No | Language for localized metadata (snippet.localized); IETF language tag, e.g., en. |
id | array | Yes | List of YouTube video IDs to retrieve. At least one video ID is required. Accepts a list or comma-separated string. The YouTube API limits each request to 50 video IDs; if more are provided, they will be automatically split into multiple requests and the results merged. |
parts | array | No | Video resource properties to include. Defaults to ['snippet', 'statistics'] if not specified. Valid parts: snippet, contentDetails, statistics, status, player, topicDetails, recordingDetails, fileDetails, processingDetails, suggestions, liveStreamingDetails, localizations, paidProductPlacementDetails, id. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Get Video Rating
Section titled “Get Video Rating”YOUTUBE_GET_VIDEO_RATING
Retrieves the ratings that the authorized user gave to a list of specified videos. Use when you need to check if a user has liked or disliked specific videos.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | A comma-separated list of the YouTube video ID(s) for the resource(s) for which rating data is being retrieved. Video IDs are typically 11-character strings (e.g., dQw4w9WgXcQ). |
onBehalfOfContentOwner | string | No | For YouTube content partners only. This parameter allows authentication on behalf of a specified content owner. Use the content owner’s channel ID. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
List Captions
Section titled “List Captions”YOUTUBE_LIST_CAPTION_TRACK
Retrieves a list of caption tracks for a YouTube video. Returns an empty items list if no captions are available. Raises ExecutionFailed if the video ID is invalid or not found.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
part | string | No | Specifies a comma-separated list of one or more caption resource parts that the API response will include. Valid parts are id and snippet. |
video_id | string | Yes | The YouTube video ID for which the API should return caption tracks. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
List Channel Sections
Section titled “List Channel Sections”YOUTUBE_LIST_CHANNEL_SECTIONS
Tool to retrieve channel sections from YouTube. Use when you need to get the layout sections of a channel’s homepage. Channel sections organize content into categories like playlists, uploads, or featured channels.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
hl | string | No | Deprecated parameter for localized metadata. |
id | string | No | Comma-separated list of channel section IDs to retrieve. Must use exactly one filter parameter: channelId, id, or mine. |
mine | boolean | No | When set to true, retrieves channel sections for the authenticated user’s channel. Must use exactly one filter parameter. |
part | string | Yes | Comma-separated list of channelSection resource properties to include in the response. Valid values: contentDetails, id, snippet. At least one value must be specified. |
channelId | string | No | Retrieves channel sections for a specific YouTube channel ID (e.g., UCddiUEpeqJcYeBxX1IVBKvQ). Must use exactly one filter parameter. |
onBehalfOfContentOwner | string | No | For YouTube content partners only. Indicates that the request’s authorization credentials identify a YouTube CMS user acting on behalf of the content owner specified in the parameter value. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
List Channel Videos
Section titled “List Channel Videos”YOUTUBE_LIST_CHANNEL_VIDEOS
Lists videos from a specified YouTube channel. This action primarily uses the playlistItems.list endpoint with the channel’s uploads playlist. If the uploads playlist returns a 404 error (a known YouTube API bug), the action automatically falls back to the search.list endpoint. Note that the search fallback has higher quota cost (100 units vs 1 unit) and is limited to 500 results.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
mine | boolean | No | Set to true to list videos from the authenticated user’s channel. When true, channelId is automatically set to me. Either channelId or mine must be provided. |
part | string | No | Specifies which parts of the playlist item resource to return. The snippet includes basic video details like ID, title, description, and thumbnails. |
channelId | string | No | The YouTube channel identifier. Accepts: channel ID starting with UC (e.g., UC_x5XG1OV2P6uZZ5FSM9Ttw), handle starting with @ (e.g., @Google), me for the authenticated user’s channel, or YouTube channel URLs. Either channelId or mine must be provided. |
pageToken | string | No | Token for pagination; use nextPageToken from a previous response for the next page. |
maxResults | integer | No | The maximum number of videos to return per page. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
List Comments
Section titled “List Comments”YOUTUBE_LIST_COMMENTS
List individual comments from YouTube videos. Returns comment details including author, text, timestamps, and engagement metrics. Use id parameter to retrieve specific comments or parentId to retrieve all replies to a top-level comment.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | No | Comma-separated list of comment IDs to retrieve. Mutually exclusive with parentId. |
part | string | No | Comma-separated list of comment resource properties that the API response will include. Use snippet for full comment details. |
parentId | string | No | ID of the parent comment for which replies should be retrieved. Mutually exclusive with id. |
pageToken | string | No | Token for pagination; use nextPageToken from a previous response. |
maxResults | integer | No | Maximum number of comments to return per page. Must be between 1 and 100. Incompatible with the id filter parameter. |
textFormat | string ("html" | "plainText") | No | Format for text fields in the response. html preserves HTML formatting including links (default). plainText returns plain text without formatting. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
List Comment Threads (Deprecated)
Section titled “List Comment Threads (Deprecated)”YOUTUBE_LIST_COMMENT_THREADS
DEPRECATED: Use YOUTUBE_LIST_COMMENT_THREADS2 instead. List comment threads from YouTube videos or channels for qualitative analysis and reporting. Returns top-level comments with optional replies (up to 5 per thread). Use the videoId parameter to retrieve comments on a specific video (most common use case).
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | No | Comma-separated list of comment thread IDs to retrieve. Mutually exclusive with videoId and allThreadsRelatedToChannelId. |
part | string | No | Comma-separated list of commentThread resource parts. snippet includes top-level comment metadata. replies includes up to 5 reply comments if present. |
order | string ("time" | "relevance") | No | Sorting order for comment threads. time returns newest first (default). relevance returns most relevant first. |
videoId | string | No | Returns comment threads associated with the specified video ID. Mutually exclusive with id and allThreadsRelatedToChannelId. |
pageToken | string | No | Token for pagination; use nextPageToken from a previous response. |
maxResults | integer | No | Maximum number of comment threads to return per page. Must be between 1 and 100. |
textFormat | string ("html" | "plainText") | No | Format for text fields in the response. html preserves HTML formatting (default). plainText returns plain text without formatting. |
searchTerms | string | No | Filter comment threads to only those matching the search query. Only works with allThreadsRelatedToChannelId parameter. |
allThreadsRelatedToChannelId | string | No | Returns all comment threads associated with the specified channel ID. Mutually exclusive with videoId and id. Requires OAuth authorization. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
List Comment Threads
Section titled “List Comment Threads”YOUTUBE_LIST_COMMENT_THREADS2
Tool to retrieve comment threads from YouTube videos or channels matching API request parameters. Use when you need to fetch comments with filtering by video, channel, or specific thread IDs.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | No | Comma-separated list of comment thread IDs to retrieve. Mutually exclusive with allThreadsRelatedToChannelId, channelId, and videoId. |
part | string | Yes | Comma-separated list of commentThread resource properties to include in the API response. Most common: snippet,replies for full comment data. |
order | string ("relevance" | "time") | No | Sorting order for comment threads. time returns newest first (default), relevance returns most relevant first. |
videoId | string | No | Returns comment threads associated with the specified video ID. Mutually exclusive with allThreadsRelatedToChannelId, channelId, and id. |
channelId | string | No | Returns comment threads for the specified channel ID. Mutually exclusive with allThreadsRelatedToChannelId, videoId, and id. |
pageToken | string | No | Token for pagination. Use the nextPageToken value from a previous response. |
maxResults | integer | No | Maximum number of comment threads to return per page. Must be between 1 and 100. Default is 20 if not specified. |
textFormat | string ("html" | "plainText") | No | Format for text fields in the response. html preserves HTML formatting (default), plainText returns plain text without formatting. |
searchTerms | string | No | Filter comment threads to only those matching the search query. Only works with allThreadsRelatedToChannelId parameter. |
moderationStatus | string ("heldForReview" | "likelySpam" | "published") | No | Filter comment threads by moderation status. Only valid for comments on channel’s own videos when authorized as the channel owner. |
allThreadsRelatedToChannelId | string | No | Returns all comment threads associated with the specified channel ID. Mutually exclusive with channelId, videoId, and id. Requires OAuth authorization. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
List I18n Languages
Section titled “List I18n Languages”YOUTUBE_LIST_I18N_LANGUAGES
Returns a list of application languages that the YouTube website supports. Use this when you need to retrieve all available language options for YouTube’s interface or to localize content.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
hl | string | No | The hl parameter specifies the language that should be used for text values in the API response. The default value is en_US. Use BCP-47 language codes (e.g., en_US, es, fr, de, ja). |
part | string | No | The part parameter specifies the i18nLanguage resource properties that the API response will include. Set this parameter to snippet to retrieve the language code and human-readable name. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
List I18n Regions
Section titled “List I18n Regions”YOUTUBE_LIST_I18N_REGIONS
Tool to retrieve a list of content regions that the YouTube website supports. Returns region codes (ISO 3166-1 alpha-2) and localized region names. Use when you need to identify available geographic regions for content filtering or display.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
hl | string | No | Language code that specifies the language for text values in the API response (e.g., en_US, es, fr). Affects the human-readable names returned. If not specified, defaults to en_US. |
part | string | No | The part parameter specifies the i18nRegion resource properties that the API response will include. Must be set to snippet to retrieve region code and name information. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
List Live Chat Messages
Section titled “List Live Chat Messages”YOUTUBE_LIST_LIVE_CHAT_MESSAGES
Tool to list live chat messages for a specific chat. Use for monitoring live chat during broadcasts or retrieving chat history. Returns messages with author details, timestamps, and message types (text, Super Chat, moderation events).
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
hl | string | No | Language code for localized currency display in Super Chat events. Uses BCP 47 format (e.g., en, es, ja). |
part | string | No | Comma-separated list of liveChatMessage resource parts that the API response will include. Valid parts: id, snippet, authorDetails. |
pageToken | string | No | Token that identifies a specific page in the result set. Use nextPageToken from previous response for pagination. |
liveChatId | string | Yes | The ID of the chat whose messages will be returned. Must be obtained from a liveBroadcast resource’s snippet.liveChatId property. |
maxResults | integer | No | Maximum number of messages to return. Valid values: 200–2000. Default: 500. |
profileImageSize | integer | No | Size of user profile pictures in pixels. Valid values: 16–720. Default: 88. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
List Most Popular Videos
Section titled “List Most Popular Videos”YOUTUBE_LIST_MOST_POPULAR_VIDEOS
DEPRECATED: Use YOUTUBE_UPDATE_VIDEO instead. Tool to list the current most-popular (charts/trending) YouTube videos for a region and/or category via videos.list(chart=mostPopular). Use when you need to retrieve YouTube’s official trending or most popular videos.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
part | string | No | Comma-separated list of video resource parts that the API response will include. Valid parts: id, snippet, contentDetails, statistics, status, player, topicDetails, recordingDetails, liveStreamingDetails, localizations, fileDetails, processingDetails, suggestions, paidProductPlacementDetails. |
chart | string | No | Identifies the chart to retrieve. The only supported value is mostPopular. |
pageToken | string | No | Token for pagination; use nextPageToken from a previous response. |
maxResults | integer | No | Maximum number of items to return per page. Must be between 1 and 50. |
regionCode | string | No | ISO 3166-1 alpha-2 country code (e.g., US, GB, JP) for regional chart selection. |
videoCategoryId | string | No | YouTube video category ID to restrict the chart to a specific category. Known working IDs include: 1 (Film & Animation), 10 (Music), 20 (Gaming), 24 (Entertainment), 25 (News & Politics), 28 (Science & Technology). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
List Playlist Images
Section titled “List Playlist Images”YOUTUBE_LIST_PLAYLIST_IMAGES
Tool to retrieve playlist images associated with a specific playlist. Use when fetching custom thumbnail images for playlists.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | No | Specifies comma-separated playlist image IDs to retrieve. Must specify either this or parent parameter. |
part | string | No | Comma-separated list of one or more playlistImage resource properties that the API response will include. Valid value: snippet. |
parent | string | No | Specifies the unique ID of the playlist for which you want to retrieve images. Must specify either this or id parameter. |
pageToken | string | No | Token for pagination; use nextPageToken from a previous response. |
maxResults | integer | No | Maximum number of images to return. Must be between 0 and 50. |
onBehalfOfContentOwner | string | No | For YouTube content partners only. Identifies a CMS user acting on behalf of a specified content owner. |
onBehalfOfContentOwnerChannel | string | No | For YouTube content partners only. Specifies the YouTube channel ID for the request. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
List Playlist Items
Section titled “List Playlist Items”YOUTUBE_LIST_PLAYLIST_ITEMS
Tool to list videos in a playlist, with pagination support. Use when walking through a channel’s uploads playlist to enumerate all videos.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
part | string | No | Comma-separated list of playlistItem resource parts to include in the response. Valid values: snippet, contentDetails, id, status. |
fields | string | No | Selector specifying which fields to include in a partial response. |
videoId | string | No | Filter results to only those containing the specified video ID. |
pageToken | string | No | The token for the page of results to retrieve. Obtained from a previous call’s nextPageToken. |
maxResults | integer | No | The maximum number of items to return per page. Must be between 0 and 50. |
playlistId | string | Yes | The unique playlist ID. Common formats: PL... for user-created playlists, UU... for channel uploads (derived from channel ID by replacing UC with UU). Do NOT pass channel IDs (starting with UC) directly. |
onBehalfOfContentOwner | string | No | Note: For YouTube content partners. Authorize using a properly scoped account. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
List Super Chat Events
Section titled “List Super Chat Events”YOUTUBE_LIST_SUPER_CHAT_EVENTS
Lists Super Chat events for a channel, showing supporter purchases during live streams. Returns Super Chat and Super Sticker events from the past 30 days. Use to track and acknowledge supporter contributions.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
hl | string | No | Language code for formatting the displayString according to language conventions. Use a valid BCP 47 language tag (e.g., en, es, ja). Defaults to en if not specified. |
part | string | No | Comma-separated list of superChatEvent resource parts to include in the response. Valid values: id, snippet. Use id,snippet to get both. |
pageToken | string | No | Token for pagination. Use the nextPageToken value from a previous response. |
maxResults | integer | No | Maximum number of Super Chat events to return per page. Must be between 1 and 50 (inclusive). Default is 5. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
List User Playlists
Section titled “List User Playlists”YOUTUBE_LIST_USER_PLAYLISTS
Retrieves playlists owned by the authenticated user, implicitly using mine=True.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
part | string | No | Specifies a comma-separated list of one or more playlist resource properties to include in the response. Common values are snippet, id, and contentDetails. |
pageToken | string | No | Token for pagination to retrieve a specific page of results. |
maxResults | integer | No | Maximum number of playlists to return. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
List User Subscriptions
Section titled “List User Subscriptions”YOUTUBE_LIST_USER_SUBSCRIPTIONS
Retrieves the authenticated user’s YouTube channel subscriptions, allowing specification of response parts and pagination.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
part | string | No | Specifies the comma-separated subscription resource parts to include. Valid parts are id, snippet, contentDetails, and subscriberSnippet. |
pageToken | string | No | Token for a specific page of results, obtained from a previous response. Omit for the first page. |
maxResults | integer | No | Maximum number of subscription items to return per page. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
List Video Abuse Report Reasons
Section titled “List Video Abuse Report Reasons”YOUTUBE_LIST_VIDEO_ABUSE_REPORT_REASONS
Tool to retrieve a list of abuse report reasons that can be used to report abusive videos on YouTube. Use when you need to display available reporting categories or before calling videos.reportAbuse. Returns localized reason labels and optional secondary categorizations.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
hl | string | No | Language code for text displayed in the API response (BCP-47 format, e.g., en_US, fr_FR, ja_JP). Default value: en_US. |
part | string | No | Comma-separated list of videoAbuseReportReason resource parts to include in the response. Valid values: id and snippet. Use snippet to get human-readable reason descriptions. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
List Video Categories
Section titled “List Video Categories”YOUTUBE_LIST_VIDEO_CATEGORIES
Tool to list YouTube video categories that can be associated with videos. Use when you need to retrieve available video categories for a specific region or get details about specific category IDs.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
hl | string | No | Language code for text values in the API response (e.g., en_US, es_ES). Defaults to en_US if not specified. |
id | string | No | Comma-separated list of video category IDs for the resources being retrieved. Returns only the specified categories. |
part | string | No | The part parameter specifies the videoCategory resource properties that the API response will include. Set the parameter value to snippet. |
regionCode | string | No | ISO 3166-1 alpha-2 country code (e.g., US, GB, JP) to return categories available in that region. Either id or regionCode must be specified. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Download YouTube Caption Track
Section titled “Download YouTube Caption Track”YOUTUBE_LOAD_CAPTIONS
Downloads a specific YouTube caption track, which must be owned by the authenticated user, and returns its content as text. Note: This action requires you to own the video (YouTube Data API v3 restriction). Non-owned videos will return 403 Forbidden errors, including many auto-generated caption tracks.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The unique caption track ID assigned by YouTube. This is NOT the video ID. To obtain this ID, first call YOUTUBE_LIST_CAPTION_TRACK with a video_id to get the list of available caption tracks and their IDs. |
tfmt | string | No | Desired format for the caption track. Supported formats: srt (SubRip), sbv (SubViewer), vtt (WebVTT). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Mark Comment as Spam
Section titled “Mark Comment as Spam”YOUTUBE_MARK_COMMENT_AS_SPAM
Tool to mark one or more YouTube comments as spam. Use when moderating comments to flag spam content. Note: This endpoint is deprecated but still functional according to YouTube API documentation.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Comma-separated list of comment IDs to mark as spam. Each ID should be a valid YouTube comment ID. Multiple IDs can be marked as spam in a single request by separating them with commas. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Multipart Upload Video
Section titled “Multipart Upload Video”YOUTUBE_MULTIPART_UPLOAD_VIDEO
Uploads a video to YouTube using multipart upload in a single request. Use when you want to upload both metadata and video file together. This action uploads the video file and metadata in one request, unlike resumable upload which requires two steps.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
tags | array | No | List of keyword tags (strings) for the video, used to improve discoverability. |
title | string | Yes | The title for the video. |
videoFile | object | Yes | Video file to upload to YouTube. |
categoryId | string | Yes | YouTube category ID (e.g., 22 for People & Blogs). Can be provided as a string or integer. |
description | string | Yes | Detailed description of the video content. |
privacyStatus | string | Yes | Privacy status: public, private (uploader/specified users only), or unlisted (link accessible, not publicly listed). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Post Comment on Video
Section titled “Post Comment on Video”YOUTUBE_POST_COMMENT
Tool to post a new top-level comment on a YouTube video. Use when creating comments to engage with video content or respond to user requests.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
videoId | string | Yes | The ID of the video to comment on. This is required to create a top-level comment on a video. |
channelId | string | Yes | The ID of the channel that uploaded the video. This is required for creating comments. |
textOriginal | string | Yes | The text content of the comment. This is the actual comment message that will be posted on the video. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Rate Video
Section titled “Rate Video”YOUTUBE_RATE_VIDEO
Tool to add a like or dislike rating to a YouTube video, or remove an existing rating. Use when you need to rate videos on behalf of the authenticated user.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The YouTube video ID to rate or remove rating from (typically an 11-character string like dQw4w9WgXcQ). |
rating | string ("like" | "dislike" | "none") | Yes | The rating to apply to the video. Use like to approve, dislike to disapprove, or none to remove any existing rating. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Report Video for Abuse
Section titled “Report Video for Abuse”YOUTUBE_REPORT_VIDEO_ABUSE
Tool to report a YouTube video for containing abusive content. Use when you need to flag videos that violate YouTube’s community guidelines or contain harmful content.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
videoId | string | Yes | Identifies the video that is being reported for containing abusive content. Set the value to that video’s YouTube video ID (typically an 11-character string). |
comments | string | No | Provides any additional information that the reporter wants to add. |
language | string | No | Identifies a language spoken by the reporter (e.g., en for English, es for Spanish). |
reasonId | string ("N" | "V" | "C" | "M" | "E" | "H") | Yes | Specifies the reason that the video is being reported for containing abusive content. Valid values: N (Sex or nudity), V (Violent, hateful, or dangerous), C (Child abuse), M (Medical misinformation), E (Violent extremism), H (Harassment or bullying). |
secondaryReasonId | string | No | Specifies the secondary reason. A secondary reason provides a more specific description of the objectionable content than the primary reason. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Search YouTube
Section titled “Search YouTube”YOUTUBE_SEARCH_YOU_TUBE
Searches YouTube for videos, channels, or playlists using a query term, returning the raw API response.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
q | string | Yes | Search query term. Supports: basic text (machine learning), exact phrases ("exact phrase"), exclusions (python -snake), multiple terms (AI OR ML), channel search (@channelhandle or channel name). |
part | string | No | The part parameter specifies properties to include in the response. For the search.list endpoint, only snippet is a valid value. The id object is always returned automatically. |
type | string | No | Restricts search to video, channel, or playlist; comma-separate for multiple types (e.g., video,channel). |
order | string ("date" | "rating" | "relevance" | "title" | "videoCount" | "viewCount") | No | Sort order for YouTube search results. |
pageToken | string | No | Pagination token from a previous response’s nextPageToken or prevPageToken. |
maxResults | integer | No | Maximum number of items to return per page. |
regionCode | string | No | Return search results for videos viewable in the specified country. ISO 3166-1 alpha-2 country code. |
publishedAfter | string | No | Filter results to only include resources created at or after the specified time. RFC 3339 formatted date-time. |
publishedBefore | string | No | Filter results to only include resources created before or at the specified time. RFC 3339 formatted date-time. |
relevanceLanguage | string | No | Return results most relevant to the specified language. ISO 639-1 two-letter language code. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Set Comment Moderation Status
Section titled “Set Comment Moderation Status”YOUTUBE_SET_COMMENT_MODERATION_STATUS
Tool to set the moderation status of one or more YouTube comments. Use when moderating comments to hold for review, publish, or reject them. Optionally ban the comment author when rejecting.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Comma-separated list of IDs that identify the comments for which you are updating the moderation status. These are comment IDs, not comment thread IDs. |
banAuthor | boolean | No | If set to true, the author of the comment gets added to the ban list. This parameter is only valid when moderationStatus is set to rejected. Default is false. |
moderationStatus | string ("heldForReview" | "published" | "rejected") | Yes | Identifies the new moderation status of the specified comments. heldForReview holds the comment for review, published makes the comment visible, rejected removes the comment from public view. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Subscribe to Channel
Section titled “Subscribe to Channel”YOUTUBE_SUBSCRIBE_CHANNEL
Subscribes the authenticated user to a specified YouTube channel, identified by its unique channelId which must be valid and existing.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes | Unique identifier (ID) of the YouTube channel to subscribe to (typically starts with UC). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Unsubscribe from Channel
Section titled “Unsubscribe from Channel”YOUTUBE_UNSUBSCRIBE_CHANNEL
Tool to unsubscribe the authenticated user from a YouTube channel by deleting a subscription. Use when you need to remove an existing subscription. The subscription ID can be obtained from the YOUTUBE_LIST_USER_SUBSCRIPTIONS tool.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
subscriptionId | string | Yes | The unique subscription ID to delete. This ID can be obtained from the YOUTUBE_LIST_USER_SUBSCRIPTIONS tool. The subscription must belong to the authenticated user. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Update Caption Track
Section titled “Update Caption Track”YOUTUBE_UPDATE_CAPTION
Updates a YouTube caption track’s metadata such as name, language, or draft status. Use this to modify existing caption track properties without uploading new caption content. Note: Only properties specified in the snippet will be updated; unspecified properties retain their current values.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The unique caption track ID assigned by YouTube. This is NOT the video ID. To obtain this ID, call YOUTUBE_LIST_CAPTION_TRACK with a video_id to get the list of available caption tracks and their IDs. |
snippet | object | Yes | Snippet object containing the caption properties to update. Only specified fields will be updated. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Update Channel
Section titled “Update Channel”YOUTUBE_UPDATE_CHANNEL
Updates a channel’s metadata including branding settings and localizations. Only brandingSettings, invideoPromotion, and localizations properties can be updated. Requires the channel to be owned by the authenticated user.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The channel ID being updated. This is the unique YouTube channel identifier that typically starts with UC. |
part | string | No | Comma-separated list of channel resource properties to update. Must include at least one of: brandingSettings, invideoPromotion, or localizations. |
localizations | object | No | Translated metadata for the channel, keyed by BCP-47 language code (e.g., es for Spanish, fr for French). Each value contains localized title and description. |
brandingSettings | object | No | Container for channel branding settings. |
invideoPromotion | object | No | The invideoPromotion object encapsulates information about a promotional campaign associated with the channel. |
onBehalfOfContentOwner | string | No | For authorized requests only. Allows content partners to act on behalf of the specified channel owner. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Update Channel Section
Section titled “Update Channel Section”YOUTUBE_UPDATE_CHANNEL_SECTION
Tool to update an existing YouTube channel section by ID. Use when modifying section properties like title, position, or featured content.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The ID that YouTube uses to uniquely identify the channel section to update. This is a required field. |
snippet | object | No | Snippet details for the channel section update. |
contentDetails | object | No | Content details for the channel section. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Update Comment
Section titled “Update Comment”YOUTUBE_UPDATE_COMMENT
Tool to modify the text of an existing YouTube comment. Use when updating or correcting a previously posted comment.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The unique ID of the comment to update. This identifies which specific comment should be modified. |
textOriginal | string | Yes | The new text content for the comment. This will replace the existing comment text. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Update Playlist
Section titled “Update Playlist”YOUTUBE_UPDATE_PLAYLIST
Tool to modify an existing YouTube playlist’s metadata (title, description, privacy status). Use when updating playlist information for the authenticated user’s channel.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The playlist’s unique YouTube ID. This identifies which playlist to update. |
part | string | No | The part parameter specifies a comma-separated list of playlist resource properties that the API response will include. Valid values: contentDetails, id, localizations, player, snippet, status. |
status | object | No | Information about the playlist’s privacy and podcast status. |
snippet | object | Yes | The snippet object contains basic details about the playlist, including title and description. At minimum, title is required. |
onBehalfOfContentOwner | string | No | This parameter is intended exclusively for YouTube content partners. Indicates that the request’s authorization credentials identify a YouTube CMS user acting on behalf of the content owner specified in the parameter value. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Update Playlist Item
Section titled “Update Playlist Item”YOUTUBE_UPDATE_PLAYLIST_ITEM
Tool to modify a playlist item’s properties such as position or note. Use when reordering videos in a playlist or updating item metadata.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The ID of the playlist item to update. This is the unique identifier for the playlist item resource. |
part | string | No | Comma-separated list of playlistItem resource properties to include in the API response. Valid values: id, snippet, contentDetails, status. Note: Properties included in the part parameter will have their existing values overwritten. |
status | object | No | Status object for updating playlist item privacy. |
snippet | object | Yes | The snippet object contains basic details about the playlist item that can be modified. |
contentDetails | object | No | Content details containing additional modifiable properties. |
onBehalfOfContentOwner | string | No | For YouTube content partners only. Indicates the content owner on whose behalf the request is being made. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Update Thumbnail
Section titled “Update Thumbnail”YOUTUBE_UPDATE_THUMBNAIL
Sets the custom thumbnail for a YouTube video using an image from a URL. Requirements: the authenticated user must own the video or have permission to edit it; the YouTube channel must be verified (phone verification required) to upload custom thumbnails; image must be JPG, PNG, or GIF; under 2MB; recommended 1280x720 resolution (16:9 aspect ratio).
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
videoId | string | Yes | Identifier of the YouTube video for which to update the thumbnail. |
thumbnailUrl | string | Yes | Publicly accessible URL of the new thumbnail image. Must be JPG, GIF, or PNG; under 2MB. Recommended: 16:9 aspect ratio, 1280x720 resolution (minimum 640px width). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Update Video
Section titled “Update Video”YOUTUBE_UPDATE_VIDEO
Updates metadata for a YouTube video identified by videoId, which must exist; an empty list for tags removes all existing tags.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
tags | array | No | New tags as a list of strings. Must be an actual list/array like ['tag1', 'tag2'], NOT a JSON string. Replaces all existing tags. An empty list removes all tags. No change if omitted or None. YouTube restrictions: angle brackets < > are forbidden and will be removed automatically. Total characters across all tags must not exceed 500. |
title | string | No | New video title as a string. Maximum 100 characters. No change if omitted or None. |
video_id | string | Yes | The video’s unique YouTube ID (string). Typically an 11-character alphanumeric string found in the video URL (e.g., dQw4w9WgXcQ). |
category_id | string | No | New YouTube category ID as a string. No change if omitted or None. Numeric values will be converted to strings. |
description | string | No | New video description as a string. Maximum 5000 bytes (not characters). Multibyte UTF-8 characters like emojis (4 bytes each) and accented letters (2 bytes each) count more than ASCII characters. No change if omitted or None. |
privacy_status | string ("public" | "private" | "unlisted") | No | New privacy status. No change if omitted or None. |
composio_execution_message | string | No | Internal field for execution messages about input processing. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Upload Video
Section titled “Upload Video”YOUTUBE_UPLOAD_VIDEO
Uploads a video from a local file path to a YouTube channel; the video file must be in a YouTube-supported format.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
tags | array | Yes | List of keyword tags (strings) for the video, used to improve discoverability. |
title | string | Yes | The title for the video. |
categoryId | string | Yes | YouTube category ID (e.g., 22 for People & Blogs). Can be provided as a string or integer. See YouTube Data API docs for a full list of category IDs. |
description | string | Yes | Detailed description of the video content, optionally including keywords and context. |
privacyStatus | string ("public" | "private" | "unlisted") | Yes | Privacy status. |
videoFilePath | object | Yes | Video file to upload to YouTube. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |