Track TV news mentions of your brand and competitors

By General Input

Catch every cable and broadcast news hit for your brand and your two biggest competitors, with Slack alerts and a searchable Notion archive.

Integrations

  • GDELT
  • Slack
  • Notion

Type

Agentic Task

Categories

  • Marketing

Build me an agent workflow that tracks US TV news mentions of our brand and our two biggest competitors so our comms team finally has a signal for earned-media TV hits. Trigger: cron, every 2 hours during US business hours (9am to 7pm Eastern, Monday through Friday).

Inputs the workflow should accept: three brand names (OURBRAND, COMPETITOR1, COMPETITOR2), the Slack channel id for #pr-tv, and the Notion database id for the TV Mentions archive.

On each run, the agent should call GDELT's Search TV News Clips (TV 2.0) operation with a query like (OURBRAND OR COMPETITOR1 OR COMPETITOR2), scoped to the last 2 hours, across major US national news stations (CNN, FOXNEWS, MSNBC, CNBC, BLOOMBERG, BBCAMERICA, ABC, CBS, NBC, PBS). Important: set last24=yes on the GDELT call because the TV API excludes the last 24 hours of broadcasts by default and we want the freshest captions available. Request the clip URL, station, show name, air date, and the matching captioning snippet for each hit.

For each returned clip, the agent should classify it: which brand it is about (one of the three, or multiple), sentiment (positive / neutral / negative), and whether it is a substantive segment (the brand is discussed for at least a sentence or two of meaningful context) versus a passing mention (single name-drop in an unrelated segment). The agent should use the captioning snippet plus the surrounding anchor context to make this call.

For every substantive hit, post a message to the configured Slack channel using Slack's Send a Message operation. The message should include: which brand it is about, the station and show, the air date and time, the anchor or context as a short lead-in, the matching sentence-level quote from the captions, the classified sentiment, and a link to the Internet Archive clip URL so a teammate can watch the segment in one click. Format it cleanly so it scans well in Slack.

For every clip the run returns (substantive or not), create one page in the Notion TV Mentions database using Notion's Create a Page operation. Fill in all parsed fields: brand, station, show, air date, sentiment, substantive vs passing, captioning quote, and clip URL. This gives the team a searchable archive they can pull from for press kits, board decks, and quarterly reporting.

Deduplicate by clip ID across runs so repeated executions never double-post the same segment to Slack or create duplicate Notion pages. The clip's unique URL from GDELT is fine as the dedupe key.

If no clips come back on a run, just exit quietly. No empty Slack messages.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredChat quality review board for LiveChat support leadsWin back no-show and cancelled appointments every morningLive Loop returns analytics with product-level drill-downNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollmentsMailjet email delivery lookup console for support teamsCatch feature flags that never got switched on in productionScreen chartered vessels for AIS gaps and sanctions red flags