Skip to content

YouTube

YouTube

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.

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.

YouTube uses OAuth 2.0 via a Google account. Composio manages the authorization flow: simply click Connect and authorize access on the Google screen.

  1. Go to Tools in the side menu (/admin/tools).
  2. Open the Available tab and search for YouTube.
  3. Click the card to open the details and hit Connect.
  4. You’re taken to the secure connection page hosted by Composio, where you authorize access with your Google account.
  5. 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.

The default OAuth app is shared and has strict quota limits. For production, create your own OAuth app to get a dedicated quota.

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.

NameTypeRequiredDescription
videoIdstringYesThe YouTube video ID to add to the playlist (typically an 11-character string).
positionintegerNoThe 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.
playlistIdstringYesThe ID of the playlist to add the video to. You can retrieve playlist IDs using the YOUTUBE_LIST_USER_PLAYLISTS action.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
snippetobjectYesThe snippet object contains details about the channel section including its type, title, and position.
contentDetailsobjectNoContent details for the channel section.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
parentIdstringYesThe ID of the parent comment being replied to. This is the comment that the new reply will be attached to.
textOriginalstringYesThe text content of the reply comment. This cannot be empty and will be posted as a reply to the parent comment.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
titlestringYesThe title of the new playlist. This is a required field.
descriptionstringNoThe playlist’s description. Provides additional context about the playlist content.
privacyStatusstring ("public" | "private" | "unlisted")NoThe 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.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
idstringYesThe YouTube channelSection ID for the resource that is being deleted. This is a required parameter.
onBehalfOfContentOwnerstringNoThis 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.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
idstringYesThe comment ID to delete. This is the unique identifier for the comment resource. The comment must be owned by the authenticated user or channel.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
idstringYesSpecifies the YouTube playlist ID for the playlist being deleted. The playlist must be owned by the authenticated user/channel.
confirmDeletebooleanYesExplicit 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.
onBehalfOfContentOwnerstringNoIndicates 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.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

YOUTUBE_DELETE_PLAYLIST_ITEM

Tool to delete a playlist item (remove a video from a playlist). Use when removing specific videos from playlists.

NameTypeRequiredDescription
idstringYesThe 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).
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
videoIdstringYesThe YouTube video ID (typically an 11-character string) to be deleted. The video must be owned by the authenticated user/channel.
confirmDeletebooleanYesExplicit 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.
onBehalfOfContentOwnerstringNoOptional parameter used by YouTube content partners to indicate the request is being made on behalf of a content owner whose content is being managed.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

YOUTUBE_GET_CHANNEL_ACTIVITIES

Gets recent activities from a YouTube channel including video uploads, playlist additions, likes, and other channel events.

NameTypeRequiredDescription
partstringNoComma-separated list of activity resource properties to include (e.g., snippet, contentDetails, id).
channelIdstringYesThe YouTube channel ID to retrieve activities for. Channel IDs typically start with UC.
pageTokenstringNoPagination token from a previous response to get the next page of results.
maxResultsintegerNoMaximum number of activities to return.
publishedAfterstringNoReturn activities published after this date-time (RFC 3339 format: YYYY-MM-DDTHH:MM:SSZ).
publishedBeforestringNoReturn activities published before this date-time (RFC 3339 format: YYYY-MM-DDTHH:MM:SSZ).
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

YOUTUBE_GET_CHANNEL_ID_BY_HANDLE

Retrieves the YouTube Channel ID for a specific YouTube channel handle.

NameTypeRequiredDescription
channel_handlestringYesThe 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.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
idstringNoComma-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.
minebooleanNoSet 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.
partstringNoComma-separated list of channel resource properties to include. Use statistics for subscriber count.
forHandlestringNoYouTube channel handle (e.g., @Google or GoogleDevelopers). The @ symbol is optional. At least one of id, forHandle, forUsername, or mine must be provided.
forUsernamestringNoYouTube username to identify the channel. At least one of id, forHandle, forUsername, or mine must be provided.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
hlstringNoLanguage for localized metadata (snippet.localized); IETF language tag, e.g., en.
idarrayYesList 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.
partsarrayNoVideo 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.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
idstringYesA 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).
onBehalfOfContentOwnerstringNoFor YouTube content partners only. This parameter allows authentication on behalf of a specified content owner. Use the content owner’s channel ID.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
partstringNoSpecifies a comma-separated list of one or more caption resource parts that the API response will include. Valid parts are id and snippet.
video_idstringYesThe YouTube video ID for which the API should return caption tracks.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
hlstringNoDeprecated parameter for localized metadata.
idstringNoComma-separated list of channel section IDs to retrieve. Must use exactly one filter parameter: channelId, id, or mine.
minebooleanNoWhen set to true, retrieves channel sections for the authenticated user’s channel. Must use exactly one filter parameter.
partstringYesComma-separated list of channelSection resource properties to include in the response. Valid values: contentDetails, id, snippet. At least one value must be specified.
channelIdstringNoRetrieves channel sections for a specific YouTube channel ID (e.g., UCddiUEpeqJcYeBxX1IVBKvQ). Must use exactly one filter parameter.
onBehalfOfContentOwnerstringNoFor 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.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
minebooleanNoSet 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.
partstringNoSpecifies which parts of the playlist item resource to return. The snippet includes basic video details like ID, title, description, and thumbnails.
channelIdstringNoThe 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.
pageTokenstringNoToken for pagination; use nextPageToken from a previous response for the next page.
maxResultsintegerNoThe maximum number of videos to return per page.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
idstringNoComma-separated list of comment IDs to retrieve. Mutually exclusive with parentId.
partstringNoComma-separated list of comment resource properties that the API response will include. Use snippet for full comment details.
parentIdstringNoID of the parent comment for which replies should be retrieved. Mutually exclusive with id.
pageTokenstringNoToken for pagination; use nextPageToken from a previous response.
maxResultsintegerNoMaximum number of comments to return per page. Must be between 1 and 100. Incompatible with the id filter parameter.
textFormatstring ("html" | "plainText")NoFormat for text fields in the response. html preserves HTML formatting including links (default). plainText returns plain text without formatting.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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).

NameTypeRequiredDescription
idstringNoComma-separated list of comment thread IDs to retrieve. Mutually exclusive with videoId and allThreadsRelatedToChannelId.
partstringNoComma-separated list of commentThread resource parts. snippet includes top-level comment metadata. replies includes up to 5 reply comments if present.
orderstring ("time" | "relevance")NoSorting order for comment threads. time returns newest first (default). relevance returns most relevant first.
videoIdstringNoReturns comment threads associated with the specified video ID. Mutually exclusive with id and allThreadsRelatedToChannelId.
pageTokenstringNoToken for pagination; use nextPageToken from a previous response.
maxResultsintegerNoMaximum number of comment threads to return per page. Must be between 1 and 100.
textFormatstring ("html" | "plainText")NoFormat for text fields in the response. html preserves HTML formatting (default). plainText returns plain text without formatting.
searchTermsstringNoFilter comment threads to only those matching the search query. Only works with allThreadsRelatedToChannelId parameter.
allThreadsRelatedToChannelIdstringNoReturns all comment threads associated with the specified channel ID. Mutually exclusive with videoId and id. Requires OAuth authorization.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
idstringNoComma-separated list of comment thread IDs to retrieve. Mutually exclusive with allThreadsRelatedToChannelId, channelId, and videoId.
partstringYesComma-separated list of commentThread resource properties to include in the API response. Most common: snippet,replies for full comment data.
orderstring ("relevance" | "time")NoSorting order for comment threads. time returns newest first (default), relevance returns most relevant first.
videoIdstringNoReturns comment threads associated with the specified video ID. Mutually exclusive with allThreadsRelatedToChannelId, channelId, and id.
channelIdstringNoReturns comment threads for the specified channel ID. Mutually exclusive with allThreadsRelatedToChannelId, videoId, and id.
pageTokenstringNoToken for pagination. Use the nextPageToken value from a previous response.
maxResultsintegerNoMaximum number of comment threads to return per page. Must be between 1 and 100. Default is 20 if not specified.
textFormatstring ("html" | "plainText")NoFormat for text fields in the response. html preserves HTML formatting (default), plainText returns plain text without formatting.
searchTermsstringNoFilter comment threads to only those matching the search query. Only works with allThreadsRelatedToChannelId parameter.
moderationStatusstring ("heldForReview" | "likelySpam" | "published")NoFilter comment threads by moderation status. Only valid for comments on channel’s own videos when authorized as the channel owner.
allThreadsRelatedToChannelIdstringNoReturns all comment threads associated with the specified channel ID. Mutually exclusive with channelId, videoId, and id. Requires OAuth authorization.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
hlstringNoThe 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).
partstringNoThe 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.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
hlstringNoLanguage 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.
partstringNoThe 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.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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).

NameTypeRequiredDescription
hlstringNoLanguage code for localized currency display in Super Chat events. Uses BCP 47 format (e.g., en, es, ja).
partstringNoComma-separated list of liveChatMessage resource parts that the API response will include. Valid parts: id, snippet, authorDetails.
pageTokenstringNoToken that identifies a specific page in the result set. Use nextPageToken from previous response for pagination.
liveChatIdstringYesThe ID of the chat whose messages will be returned. Must be obtained from a liveBroadcast resource’s snippet.liveChatId property.
maxResultsintegerNoMaximum number of messages to return. Valid values: 200–2000. Default: 500.
profileImageSizeintegerNoSize of user profile pictures in pixels. Valid values: 16–720. Default: 88.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
partstringNoComma-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.
chartstringNoIdentifies the chart to retrieve. The only supported value is mostPopular.
pageTokenstringNoToken for pagination; use nextPageToken from a previous response.
maxResultsintegerNoMaximum number of items to return per page. Must be between 1 and 50.
regionCodestringNoISO 3166-1 alpha-2 country code (e.g., US, GB, JP) for regional chart selection.
videoCategoryIdstringNoYouTube 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).
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

YOUTUBE_LIST_PLAYLIST_IMAGES

Tool to retrieve playlist images associated with a specific playlist. Use when fetching custom thumbnail images for playlists.

NameTypeRequiredDescription
idstringNoSpecifies comma-separated playlist image IDs to retrieve. Must specify either this or parent parameter.
partstringNoComma-separated list of one or more playlistImage resource properties that the API response will include. Valid value: snippet.
parentstringNoSpecifies the unique ID of the playlist for which you want to retrieve images. Must specify either this or id parameter.
pageTokenstringNoToken for pagination; use nextPageToken from a previous response.
maxResultsintegerNoMaximum number of images to return. Must be between 0 and 50.
onBehalfOfContentOwnerstringNoFor YouTube content partners only. Identifies a CMS user acting on behalf of a specified content owner.
onBehalfOfContentOwnerChannelstringNoFor YouTube content partners only. Specifies the YouTube channel ID for the request.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
partstringNoComma-separated list of playlistItem resource parts to include in the response. Valid values: snippet, contentDetails, id, status.
fieldsstringNoSelector specifying which fields to include in a partial response.
videoIdstringNoFilter results to only those containing the specified video ID.
pageTokenstringNoThe token for the page of results to retrieve. Obtained from a previous call’s nextPageToken.
maxResultsintegerNoThe maximum number of items to return per page. Must be between 0 and 50.
playlistIdstringYesThe 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.
onBehalfOfContentOwnerstringNoNote: For YouTube content partners. Authorize using a properly scoped account.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
hlstringNoLanguage 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.
partstringNoComma-separated list of superChatEvent resource parts to include in the response. Valid values: id, snippet. Use id,snippet to get both.
pageTokenstringNoToken for pagination. Use the nextPageToken value from a previous response.
maxResultsintegerNoMaximum number of Super Chat events to return per page. Must be between 1 and 50 (inclusive). Default is 5.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

YOUTUBE_LIST_USER_PLAYLISTS

Retrieves playlists owned by the authenticated user, implicitly using mine=True.

NameTypeRequiredDescription
partstringNoSpecifies a comma-separated list of one or more playlist resource properties to include in the response. Common values are snippet, id, and contentDetails.
pageTokenstringNoToken for pagination to retrieve a specific page of results.
maxResultsintegerNoMaximum number of playlists to return.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

YOUTUBE_LIST_USER_SUBSCRIPTIONS

Retrieves the authenticated user’s YouTube channel subscriptions, allowing specification of response parts and pagination.

NameTypeRequiredDescription
partstringNoSpecifies the comma-separated subscription resource parts to include. Valid parts are id, snippet, contentDetails, and subscriberSnippet.
pageTokenstringNoToken for a specific page of results, obtained from a previous response. Omit for the first page.
maxResultsintegerNoMaximum number of subscription items to return per page.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
hlstringNoLanguage code for text displayed in the API response (BCP-47 format, e.g., en_US, fr_FR, ja_JP). Default value: en_US.
partstringNoComma-separated list of videoAbuseReportReason resource parts to include in the response. Valid values: id and snippet. Use snippet to get human-readable reason descriptions.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
hlstringNoLanguage code for text values in the API response (e.g., en_US, es_ES). Defaults to en_US if not specified.
idstringNoComma-separated list of video category IDs for the resources being retrieved. Returns only the specified categories.
partstringNoThe part parameter specifies the videoCategory resource properties that the API response will include. Set the parameter value to snippet.
regionCodestringNoISO 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.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
idstringYesThe 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.
tfmtstringNoDesired format for the caption track. Supported formats: srt (SubRip), sbv (SubViewer), vtt (WebVTT).
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
idstringYesComma-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.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
tagsarrayNoList of keyword tags (strings) for the video, used to improve discoverability.
titlestringYesThe title for the video.
videoFileobjectYesVideo file to upload to YouTube.
categoryIdstringYesYouTube category ID (e.g., 22 for People & Blogs). Can be provided as a string or integer.
descriptionstringYesDetailed description of the video content.
privacyStatusstringYesPrivacy status: public, private (uploader/specified users only), or unlisted (link accessible, not publicly listed).
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
videoIdstringYesThe ID of the video to comment on. This is required to create a top-level comment on a video.
channelIdstringYesThe ID of the channel that uploaded the video. This is required for creating comments.
textOriginalstringYesThe text content of the comment. This is the actual comment message that will be posted on the video.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
idstringYesThe YouTube video ID to rate or remove rating from (typically an 11-character string like dQw4w9WgXcQ).
ratingstring ("like" | "dislike" | "none")YesThe rating to apply to the video. Use like to approve, dislike to disapprove, or none to remove any existing rating.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
videoIdstringYesIdentifies 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).
commentsstringNoProvides any additional information that the reporter wants to add.
languagestringNoIdentifies a language spoken by the reporter (e.g., en for English, es for Spanish).
reasonIdstring ("N" | "V" | "C" | "M" | "E" | "H")YesSpecifies 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).
secondaryReasonIdstringNoSpecifies the secondary reason. A secondary reason provides a more specific description of the objectionable content than the primary reason.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

YOUTUBE_SEARCH_YOU_TUBE

Searches YouTube for videos, channels, or playlists using a query term, returning the raw API response.

NameTypeRequiredDescription
qstringYesSearch 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).
partstringNoThe 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.
typestringNoRestricts search to video, channel, or playlist; comma-separate for multiple types (e.g., video,channel).
orderstring ("date" | "rating" | "relevance" | "title" | "videoCount" | "viewCount")NoSort order for YouTube search results.
pageTokenstringNoPagination token from a previous response’s nextPageToken or prevPageToken.
maxResultsintegerNoMaximum number of items to return per page.
regionCodestringNoReturn search results for videos viewable in the specified country. ISO 3166-1 alpha-2 country code.
publishedAfterstringNoFilter results to only include resources created at or after the specified time. RFC 3339 formatted date-time.
publishedBeforestringNoFilter results to only include resources created before or at the specified time. RFC 3339 formatted date-time.
relevanceLanguagestringNoReturn results most relevant to the specified language. ISO 639-1 two-letter language code.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
idstringYesComma-separated list of IDs that identify the comments for which you are updating the moderation status. These are comment IDs, not comment thread IDs.
banAuthorbooleanNoIf 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.
moderationStatusstring ("heldForReview" | "published" | "rejected")YesIdentifies 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.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

YOUTUBE_SUBSCRIBE_CHANNEL

Subscribes the authenticated user to a specified YouTube channel, identified by its unique channelId which must be valid and existing.

NameTypeRequiredDescription
channelIdstringYesUnique identifier (ID) of the YouTube channel to subscribe to (typically starts with UC).
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
subscriptionIdstringYesThe 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.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
idstringYesThe 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.
snippetobjectYesSnippet object containing the caption properties to update. Only specified fields will be updated.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
idstringYesThe channel ID being updated. This is the unique YouTube channel identifier that typically starts with UC.
partstringNoComma-separated list of channel resource properties to update. Must include at least one of: brandingSettings, invideoPromotion, or localizations.
localizationsobjectNoTranslated 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.
brandingSettingsobjectNoContainer for channel branding settings.
invideoPromotionobjectNoThe invideoPromotion object encapsulates information about a promotional campaign associated with the channel.
onBehalfOfContentOwnerstringNoFor authorized requests only. Allows content partners to act on behalf of the specified channel owner.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
idstringYesThe ID that YouTube uses to uniquely identify the channel section to update. This is a required field.
snippetobjectNoSnippet details for the channel section update.
contentDetailsobjectNoContent details for the channel section.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

YOUTUBE_UPDATE_COMMENT

Tool to modify the text of an existing YouTube comment. Use when updating or correcting a previously posted comment.

NameTypeRequiredDescription
idstringYesThe unique ID of the comment to update. This identifies which specific comment should be modified.
textOriginalstringYesThe new text content for the comment. This will replace the existing comment text.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
idstringYesThe playlist’s unique YouTube ID. This identifies which playlist to update.
partstringNoThe 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.
statusobjectNoInformation about the playlist’s privacy and podcast status.
snippetobjectYesThe snippet object contains basic details about the playlist, including title and description. At minimum, title is required.
onBehalfOfContentOwnerstringNoThis 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.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
idstringYesThe ID of the playlist item to update. This is the unique identifier for the playlist item resource.
partstringNoComma-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.
statusobjectNoStatus object for updating playlist item privacy.
snippetobjectYesThe snippet object contains basic details about the playlist item that can be modified.
contentDetailsobjectNoContent details containing additional modifiable properties.
onBehalfOfContentOwnerstringNoFor YouTube content partners only. Indicates the content owner on whose behalf the request is being made.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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).

NameTypeRequiredDescription
videoIdstringYesIdentifier of the YouTube video for which to update the thumbnail.
thumbnailUrlstringYesPublicly 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).
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

YOUTUBE_UPDATE_VIDEO

Updates metadata for a YouTube video identified by videoId, which must exist; an empty list for tags removes all existing tags.

NameTypeRequiredDescription
tagsarrayNoNew 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.
titlestringNoNew video title as a string. Maximum 100 characters. No change if omitted or None.
video_idstringYesThe video’s unique YouTube ID (string). Typically an 11-character alphanumeric string found in the video URL (e.g., dQw4w9WgXcQ).
category_idstringNoNew YouTube category ID as a string. No change if omitted or None. Numeric values will be converted to strings.
descriptionstringNoNew 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_statusstring ("public" | "private" | "unlisted")NoNew privacy status. No change if omitted or None.
composio_execution_messagestringNoInternal field for execution messages about input processing.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

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.

NameTypeRequiredDescription
tagsarrayYesList of keyword tags (strings) for the video, used to improve discoverability.
titlestringYesThe title for the video.
categoryIdstringYesYouTube 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.
descriptionstringYesDetailed description of the video content, optionally including keywords and context.
privacyStatusstring ("public" | "private" | "unlisted")YesPrivacy status.
videoFilePathobjectYesVideo file to upload to YouTube.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.