The YouTube Shorts module lets your AI agent upload short-form vertical videos (up to 60 seconds) directly to your YouTube channel. AgentGrow uses Google OAuth 2.0 to connect securely — you create a Google Cloud project, enter its credentials, and click a button. The platform handles token exchange, encrypted storage, and automatic refresh every 45 minutes so your connection never expires.

How It Works

YouTube requires OAuth 2.0 for video uploads — API keys alone are not sufficient. AgentGrow’s OAuth flow works in three steps:

  1. You create a Google Cloud project with the YouTube Data API enabled and paste the OAuth Client ID + Client Secret into AgentGrow
  2. You click "Connect YouTube" — you are redirected to Google to authorize your channel
  3. AgentGrow stores the tokens and refreshes them automatically before they expire (Google tokens expire every hour)
Videos are uploaded to your YouTube channel, not AgentGrow’s. You own the Google Cloud project and control exactly what permissions are granted.

What You Will Need

FieldWhat it is
Client IDYour Google Cloud OAuth 2.0 client identifier (ends in .apps.googleusercontent.com)
Client SecretYour OAuth 2.0 client secret key

Prerequisites


Part 1 — Create a Google Cloud Project

1

Go to Google Cloud Console

Open console.cloud.google.com and sign in with the Google account that owns your YouTube channel.

2

Create a new project

Click the project dropdown at the top of the page, then New Project. Name it something like AgentGrow YouTube and click Create.

Make sure the new project is selected in the project dropdown before continuing.

3

Enable the YouTube Data API v3

Go to APIs & Services → Library, search for YouTube Data API v3, and click Enable.

Important: You must enable the YouTube Data API v3 specifically. Do not confuse it with "YouTube Analytics API" or "YouTube Reporting API" — those are for reading data, not uploading videos.
4

Configure the OAuth consent screen

Go to APIs & Services → OAuth consent screen:

On the Scopes page, click Add or Remove Scopes and add these two scopes:

https://www.googleapis.com/auth/youtube.upload https://www.googleapis.com/auth/youtube.readonly

Click Update, then Save and Continue.

On the Test users page, click Add Users and add your own Google email address. Click Save and Continue.

About Google verification: The youtube.upload and youtube.readonly scopes are classified as "sensitive" by Google. You have two options:
  • Testing mode (recommended): Add yourself as a test user and skip verification entirely. You can add up to 100 test users. This is the fastest path — no review needed, works immediately.
  • Submit for verification: Only needed if you want more than 100 users to connect. Google will ask for a justification and a demo video of the OAuth flow. Verification typically takes 2–6 weeks.
For most AgentGrow clients, Testing mode is all you need — you are connecting your own channel.

Google will also ask "How will the scopes be used?" on the consent screen configuration. You can paste this justification:

This application uploads short-form vertical videos (YouTube Shorts) to the authenticated user's own YouTube channel on their behalf. The youtube.upload scope is required to upload video files via the YouTube Data API v3 resumable upload endpoint. The youtube.readonly scope is required to fetch the authenticated user's channel ID, name, and thumbnail during the OAuth connection flow. No other YouTube data is accessed. The user explicitly authorizes the connection and can disconnect at any time.
5

Create OAuth 2.0 credentials

Go to APIs & Services → Credentials and click Create Credentials → OAuth client ID:

https://agentgrow.io/api/youtube/callback

Click Create.

6

Copy Client ID and Client Secret

A dialog will show your credentials:

Copy both values. You can also find them later under Credentials → OAuth 2.0 Client IDs.

Keep the Client Secret safe. Anyone with your Client ID + Secret can request tokens on behalf of your app. Do not share them publicly.

Part 2 — Connect YouTube in AgentGrow

1

Open your Integrations page

Log in to your AgentGrow dashboard at agentgrow.io/user/integrations.

2

Configure YouTube Shorts

Find the YouTube Shorts module and click Configure. You will see a two-step form:

Step 1 — Google Cloud Credentials:

Click Save & Continue.

Step 2 — Authorize:

3

Verify the connection

After authorization, you will see a green Connected status with your channel name and thumbnail. The token expiry is displayed — AgentGrow refreshes it automatically every 45 minutes (Google tokens expire every hour).

That’s it! Your agent will begin uploading YouTube Shorts on its next scheduled run (daily at 11:00 AM IST). Check your Dashboard for activity updates.

What Your Agent Uploads

Your AI agent creates and uploads YouTube Shorts — vertical videos up to 60 seconds long. These are the same style of videos your agent already creates for Instagram Reels and Facebook Reels, now cross-posted to YouTube for additional reach.


Troubleshooting

Google says "redirect_uri_mismatch"

Make sure you added this exact URL in your Google Cloud OAuth client’s Authorized redirect URIs:

https://agentgrow.io/api/youtube/callback

The URL must match exactly — no trailing slash, no http:// (must be https://). After adding it, wait a few minutes for Google to propagate the change.

"Access blocked: This app's request is invalid" error

This usually means the YouTube Data API v3 is not enabled in your Google Cloud project. Go to APIs & Services → Library, search for "YouTube Data API v3", and ensure it shows as Enabled.

"This app isn't verified" warning

This is normal for apps in "Testing" mode. Click Continue (you may need to click "Advanced" first). Since you created the app and added yourself as a test user, this is safe.

Connection shows "Expired"

AgentGrow automatically refreshes YouTube tokens every 45 minutes. If you still see "Expired":

This generates a fresh token immediately.

Agent is not uploading Shorts

How do I disconnect YouTube?

Open the YouTube Shorts module on the Integrations page, click Reconfigure, then click Disconnect. This removes the access token but keeps your app credentials so you can reconnect without re-entering them.

Can I switch to a different YouTube channel?

Yes. Disconnect the current connection, then click Connect YouTube again. When Google asks you to authorize, select a different channel.

YouTube API quota limits

The YouTube Data API has a default quota of 10,000 units per day. Each video upload costs 1,600 units, so you can upload up to 6 videos per day. AgentGrow’s daily cadence (1 Short/day) is well within this limit.