Monday brief: what competitors are pitching on YouTube

Every Monday, Gemini watches every video your competitors posted last week and tells you which ones signal a real change in strategy.

Agentic Task
YouTubeGoogle GeminiSlack BotGoogle SheetsMarketingSalesResearch & MonitoringAI ReportsDaily Digests
PromptCreate

Build me an agent workflow that tells me, every Monday morning, what my competitors published on YouTube in the past week and what it signals about their strategy.

Trigger: a cron that runs every Monday at 8:00am in my local timezone.

Config the workflow should ask me for at setup: the list of competitor YouTube channels to track (accept channel IDs starting with UC, or channel URLs and handles, and resolve them), the Slack channel to post the digest in (default #competitive-intel), the Google Sheets spreadsheet ID and tab name for the running tracker, the lookback window (default 7 days), and the minimum video length to include (default 60 seconds, so Shorts are skipped).

Step 1, resolve each channel. For every competitor channel in the config, call YouTube List Channels with id=<channelId> and part=snippet,contentDetails to get the channel title and its uploads playlist ID from contentDetails.relatedPlaylists.uploads.

Step 2, find last week's uploads. For each uploads playlist, call YouTube List Playlist Items with part=snippet,contentDetails and maxResults=50, and keep only items whose contentDetails.videoPublishedAt falls inside the lookback window. Use videoPublishedAt, not snippet.publishedAt, which is the time the video was added to the playlist. The playlist comes back newest first, so stop paginating as soon as you hit an item older than the window. Do not use Search Videos for this: it costs 100 quota units per call, while playlist item reads cost 1.

Step 3, get the real metadata. Collect the video IDs from step 2, dedupe them, and call YouTube Get Video with part=snippet,statistics,contentDetails, passing up to 50 comma separated IDs per call. That gives you the view count, the full description, and the ISO 8601 duration. Parse the duration and drop any video shorter than the configured minimum length so Shorts do not pad the digest.

Step 4, have Gemini watch each video. For every remaining video, call Google Gemini Generate Content with a model that supports video understanding (gemini-2.5-flash is a good default). Send two parts in the request: a fileData part whose fileUri is the video's watch URL (https://www.youtube.com/watch?v=<videoId>), which lets Gemini process the video itself with no separate transcription step, and a text part carrying the channel name, title, publish date, view count, and description as context.

Ask Gemini to return strict JSON per video with these fields: positioning_angle (the argument the video is making, one or two sentences), product_or_feature (what is actually being pushed), intended_audience (who it is aimed at), claims (an array of any specific pricing, named customer, or partnership claims worth reacting to, empty if none), signal (either "strategic_shift" or "routine"), and signal_reason (one line on why). Treat a video as a strategic shift when it introduces a new product line, changes the pricing story, names a major customer or partner, targets a new segment, or goes after a competitor directly. Treat tutorials, feature walkthroughs, event recaps, and community content as routine.

Run these calls one at a time or with low concurrency, since video analysis is slower than a plain text call, and retry on 429 with exponential backoff. If Gemini cannot process a particular video because it is private, region locked, or too long, fall back to analyzing the title and description, and mark that video as metadata only rather than dropping it.

Step 5, post one digest to Slack. Use Slack Bot Send a Message (the slackbot integration, which posts as the bot rather than as me) to the configured channel. Post a single message, not one per video. Open with the two or three videos flagged as strategic_shift, each with the channel name, the linked title, the view count, the positioning angle, and any claims Gemini pulled out, so it is obvious why they matter. List the routine videos underneath, grouped by competitor, at one line each. Then, for any tracked channel that published nothing inside the window, add a single line such as "Globex: nothing published this week." Do not pad the digest with filler for quiet channels. If every channel was quiet, still post one short message saying so, so I know the watch ran.

Step 6, append to the tracker. Use Google Sheets Append Values against the configured spreadsheet and tab to add one row per video, with these columns in order: channel name, video title, publish date, view count, positioning summary, video URL. Append in publish date order. If the sheet is empty, write a header row first. The whole point is that history compounds week over week, so never overwrite existing rows.

Other rules: the digest should read like an analyst note, short and specific, not like marketing copy. Where Gemini found a pricing or customer claim, quote it verbatim, because those are the lines my sales team will get asked about. If a channel fails to resolve, note it at the bottom of the digest instead of failing the whole run.

What does this prompt do?

  • Checks each competitor channel you list for everything they published in the last seven days, and skips throwaway clips under a minute so Shorts do not pad the brief.
  • Has Gemini watch the videos themselves rather than skim the titles, so you get the actual pitch: the angle, the product being pushed, who it is aimed at, and any pricing, customer, or partnership claims.
  • Posts one Slack digest that leads with the two or three videos suggesting a genuine strategic shift, instead of a flat list of everything that went up.
  • Adds a row per video to a Google Sheet, so you build a week-by-week record of how each competitor's message is moving.

What do I need to use this?

  • A YouTube sign-in, so the workflow can read public uploads from the channels you name. You do not need to own those channels.
  • A Google Gemini API key, which you create for free in Google AI Studio.
  • A Slack workspace and the channel where the brief should land, such as #competitive-intel.
  • A Google Sheet to use as the running tracker.
  • The channel links or handles for the competitors you want to follow.

How can I customize it?

  • Change the cadence or the window. Run it fortnightly, move it to Friday afternoon, or widen the lookback so slower-posting channels still get picked up.
  • Change what Gemini looks for. Ask it to flag hiring signals, named customers, head-to-head comparisons against you, or anything else your sales team keeps getting asked about.
  • Change where it lands. Send the brief to a different channel or straight to your DMs, and point the tracker at whichever spreadsheet your team already uses.
  • Change the length filter. The default skips anything under 60 seconds, but you can keep Shorts if your competitors put real announcements in them.

FAQs

Does this really watch the videos, or just read the titles?
It watches them. The video is handed to Gemini directly, so it picks up claims made on screen or said in passing that never show up in the title or description. That is usually where the interesting detail lives.
What happens when a competitor posted nothing that week?
You get a single line saying so. The brief does not invent filler to look busy, and if every channel was quiet you get one short note confirming the check ran.
Can I track channels I do not own?
Yes. It reads public uploads, so any competitor's public channel works. Your own YouTube sign-in is only there to make the requests.
Will Shorts clutter the digest?
No. Anything under 60 seconds is skipped by default. You can lower or remove that cutoff if a competitor uses Shorts for real announcements.
How much does the Gemini part cost?
You bring your own Gemini key and Google offers a free tier, so the cost depends on how many channels you track and how much they post. A short competitor list posting a few videos a week stays modest.

Related templates

Review desk for portal forms your team still fills in by hand

Stage a batch of filings overnight, then approve each completed form from a screenshot before anything is ever submitted.

Kernel
Google Sheets
Slack Bot
App
Client-by-client cold email pipeline review for agencies

Pick a client and a date range to see sent, replies, meetings booked and the real deal value your cold email produced, campaign by campaign.

Instantly
HubSpot
Slack Bot
App
Audit what Intercom's Fin AI actually resolved before you pay

Review every conversation Fin closed as resolved, judge which ones actually stuck, and see what the gap is worth against your bill.

Intercom
Google Sheets
Slack Bot
App
One triage console for every Jira service desk queue

Merge your IT, HR and Facilities queues into one list ranked by SLA time left, then reply, change status and escalate without ever opening Jira.

Jira Service Management
Jira
Slack Bot
App
Returns and warranty claim desk that follows your policy

Work every return, damage and warranty claim in one queue, with the order, the delivery date and a policy-backed recommendation already on screen.

Kustomer
Shopify
Google Sheets
App
Run your Webflow site translations from one review desk

See every page's translation status at a glance, edit translations side by side with the English, and publish only what your team has actually approved.

Webflow
JigsawStack
Slack Bot
+1
App

Know what your competitors are saying before your sales team gets asked.

Connect YouTube, Gemini, Slack, and Google Sheets once, and the brief is waiting for you every Monday morning.