Marketing & Social
▶️ YouTube integration
Access levels: Read-only · Read + upload · Full access · Verified
Marketing & Social
Access levels: Read-only · Read + upload · Full access · Verified
Connect YouTube once and every agent in your squad can work in it for you, with exactly as much access as you decide to give, and a receipt for every call it makes.
You can change an account's access level any time under Manage. It applies instantly, no re-authorization. If the connection ever expires, the card shows Reconnect; one click re-authorizes the same account with the same settings.
Multiple accounts: connect as many as you need (say, yours and a client's). One is primary. Agents use it unless a mission says otherwise.
The level you pick at connect time is enforced on our side for every agent call: an agent can never do more than the level allows, no matter what it's asked.
| Level | What it allows | |
|---|---|---|
| Read-only | See your channel info, videos, playlists, analytics. | |
| Read + upload | Also upload new videos. | Recommended |
| Full access | Full, manage videos, playlists, subscriptions, comments. |
On top of the connection's level, every agent can be individually allowed, scoped down, or denied for this app from the Integrations page. Deny an agent and it doesn't even see the connection.
The 50 tools agents use in YouTube through Mission Control, and the lowest access level that includes each. Agents discover these themselves. You never have to name a tool; asking in plain language is enough.
| Tool | What it does | Access level |
|---|---|---|
Add video to playlistYOUTUBE_ADD_VIDEO_TO_PLAYLIST | Add a video to a playlist by inserting a playlist item. | Read + upload, Full access |
Create channel sectionYOUTUBE_CREATE_CHANNEL_SECTION | Create a new channel section for the authenticated user's YouTube channel. | Read + upload, Full access |
Create comment replyYOUTUBE_CREATE_COMMENT_REPLY | Create a reply to an existing YouTube comment. | Read + upload, Full access |
Create playlistYOUTUBE_CREATE_PLAYLIST | Create a new YouTube playlist on the authenticated user's channel. | Read + upload, Full access |
Delete channel sectionYOUTUBE_DELETE_CHANNEL_SECTION | 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. | Full access |
Delete commentYOUTUBE_DELETE_COMMENT | Delete a YouTube comment owned by the authenticated user or channel. | Full access |
Delete playlistYOUTUBE_DELETE_PLAYLIST | Delete a YouTube playlist owned by the authenticated user/channel. | Full access |
Delete playlist itemYOUTUBE_DELETE_PLAYLIST_ITEM | Delete a playlist item (remove a video from a playlist). | Full access |
Delete videoYOUTUBE_DELETE_VIDEO | Delete a YouTube video owned by the authenticated user/channel. | Full access |
Get channel activitiesYOUTUBE_GET_CHANNEL_ACTIVITIES | Gets recent activities from a YouTube channel including video uploads, playlist additions, likes, and other channel events. | All levels |
Get channel id by handleYOUTUBE_GET_CHANNEL_ID_BY_HANDLE | Retrieves the YouTube Channel ID for a specific YouTube channel handle. | All levels |
Get channel statisticsYOUTUBE_GET_CHANNEL_STATISTICS | Gets detailed statistics for YouTube channels including subscriber counts, view counts, and video counts. | All levels |
Get video details batchYOUTUBE_GET_VIDEO_DETAILS_BATCH | Retrieves multiple YouTube video resource parts in a single batch call. | All levels |
Get video ratingYOUTUBE_GET_VIDEO_RATING | Retrieves the ratings that the authorized user gave to a list of specified videos. | All levels |
List caption trackYOUTUBE_LIST_CAPTION_TRACK | Retrieves a list of caption tracks for a YouTube video. | All levels |
List channel sectionsYOUTUBE_LIST_CHANNEL_SECTIONS | 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. | All levels |
List channel videosYOUTUBE_LIST_CHANNEL_VIDEOS | Lists videos from a specified YouTube channel. | All levels |
List commentsYOUTUBE_LIST_COMMENTS | List individual comments from YouTube videos. | All levels |
List comment threadsYOUTUBE_LIST_COMMENT_THREADS | DEPRECATED: Use YOUTUBE_LIST_COMMENT_THREADS2 instead. | All levels |
List comment threads2YOUTUBE_LIST_COMMENT_THREADS2 | Retrieve comment threads from YouTube videos or channels matching API request parameters. | All levels |
List i18n languagesYOUTUBE_LIST_I18N_LANGUAGES | Returns a list of application languages that the YouTube website supports. | All levels |
List i18n regionsYOUTUBE_LIST_I18N_REGIONS | Retrieve a list of content regions that the YouTube website supports. | All levels |
List live chat messagesYOUTUBE_LIST_LIVE_CHAT_MESSAGES | List live chat messages for a specific chat. | All levels |
List most popular videosYOUTUBE_LIST_MOST_POPULAR_VIDEOS | DEPRECATED: Use YOUTUBE_UPDATE_VIDEO instead. | All levels |
List playlist imagesYOUTUBE_LIST_PLAYLIST_IMAGES | Retrieve playlist images associated with a specific playlist. | All levels |
List playlist itemsYOUTUBE_LIST_PLAYLIST_ITEMS | List videos in a playlist, with pagination support. | All levels |
List super chat eventsYOUTUBE_LIST_SUPER_CHAT_EVENTS | Lists Super Chat events for a channel, showing supporter purchases during live streams. | All levels |
List user playlistsYOUTUBE_LIST_USER_PLAYLISTS | Retrieves playlists owned by the authenticated user, implicitly using mine=True. | All levels |
List user subscriptionsYOUTUBE_LIST_USER_SUBSCRIPTIONS | Retrieves the authenticated user's YouTube channel subscriptions, allowing specification of response parts and pagination. | All levels |
List video abuse report reasonsYOUTUBE_LIST_VIDEO_ABUSE_REPORT_REASONS | Retrieve a list of abuse report reasons that can be used to report abusive videos on YouTube. | All levels |
List video categoriesYOUTUBE_LIST_VIDEO_CATEGORIES | List YouTube video categories that can be associated with videos. | All levels |
Load captionsYOUTUBE_LOAD_CAPTIONS | Downloads a specific YouTube caption track, which must be owned by the authenticated user, and returns its content as text. | All levels |
Mark comment as spamYOUTUBE_MARK_COMMENT_AS_SPAM | Mark one or more YouTube comments as spam. | Read + upload, Full access |
Multipart upload videoYOUTUBE_MULTIPART_UPLOAD_VIDEO | Uploads a video to YouTube using multipart upload in a single request. | Read + upload, Full access |
Post commentYOUTUBE_POST_COMMENT | Post a new top-level comment on a YouTube video. | Read + upload, Full access |
Rate videoYOUTUBE_RATE_VIDEO | Add a like or dislike rating to a YouTube video, or remove an existing rating. | Read + upload, Full access |
Report video abuseYOUTUBE_REPORT_VIDEO_ABUSE | Report a YouTube video for containing abusive content. | Read + upload, Full access |
Search you tubeYOUTUBE_SEARCH_YOU_TUBE | Searches YouTube for videos, channels, or playlists using a query term, returning the raw API response. | All levels |
Set comment moderation statusYOUTUBE_SET_COMMENT_MODERATION_STATUS | Set the moderation status of one or more YouTube comments. | Full access |
Subscribe channelYOUTUBE_SUBSCRIBE_CHANNEL | Subscribes the authenticated user to a specified YouTube channel, identified by its unique channelId which must be valid and existing. | Read + upload, Full access |
Unsubscribe channelYOUTUBE_UNSUBSCRIBE_CHANNEL | Unsubscribe the authenticated user from a YouTube channel by deleting a subscription. | Full access |
Update captionYOUTUBE_UPDATE_CAPTION | Updates a YouTube caption track's metadata such as name, language, or draft status. | Read + upload, Full access |
Update channelYOUTUBE_UPDATE_CHANNEL | Updates a channel's metadata including branding settings and localizations. | Read + upload, Full access |
Update channel sectionYOUTUBE_UPDATE_CHANNEL_SECTION | Update an existing YouTube channel section by ID. | Read + upload, Full access |
Update commentYOUTUBE_UPDATE_COMMENT | Modify the text of an existing YouTube comment. | Read + upload, Full access |
Update playlistYOUTUBE_UPDATE_PLAYLIST | Modify an existing YouTube playlist's metadata (title, description, privacy status). | Read + upload, Full access |
Update playlist itemYOUTUBE_UPDATE_PLAYLIST_ITEM | Modify a playlist item's properties such as position or note. | Read + upload, Full access |
Update thumbnailYOUTUBE_UPDATE_THUMBNAIL | Sets the custom thumbnail for a YouTube video using an image from a URL. | Read + upload, Full access |
Update videoYOUTUBE_UPDATE_VIDEO | Updates metadata for a YouTube video identified by videoId, which must exist; an empty list for tags removes all existing tags. | Read + upload, Full access |
Upload videoYOUTUBE_UPLOAD_VIDEO | Uploads a video from a local file path to a YouTube channel; the video file must be in a YouTube-supported format. | Read + upload, Full access |
Just ask in plain language: “check YouTube for …”, “create … in YouTube”, “every Monday, … ”, and the agent finds the right tool, runs it, and reports back with a receipt in your Runs ledger. Anything outward-facing (sending, posting, publishing) that a mission didn't clearly authorize comes back to you as a ticket first.
| Agent says | What's happening | Fix |
|---|---|---|
| "YouTube isn't connected" | No active connection (or this agent is denied) | Connect on the Integrations page; check the agent's per-app policy |
| "The connection has expired" | YouTube ended the authorization (they all do periodically) | Click Reconnect on the account, same settings, one click |
| "I'm not allowed to do that" | The action is above the account's access level, or the agent is scoped down | Raise the level under Manage, or adjust that agent's policy |
| It did something unexpected | The ask was ambiguous (e.g. matched an existing item) | Be explicit, "create a NEW …", and give agents a working folder where relevant |