Daily competitor blog digest in Slack

Every weekday morning, an agent checks each competitor's blog and newsroom, summarizes anything new, and posts a tight digest to Slack.

Agentic Task
DiffbotGoogle SheetsSlackMarketingSalesResearch & MonitoringDaily DigestsAI Reports

Build me a daily competitor blog digest as an agent workflow. Trigger: cron, every weekday at 8:00am Eastern Time.

Inputs the agent needs at run time: a Google Sheets spreadsheet ID and sheet/tab name. The sheet has one row per competitor with these columns: Competitor Name, Site URL (their blog or newsroom), and Last Seen URL (the most recent article URL the agent has already digested for that competitor; may be blank on first run).

Step 1. Use Google Sheets "Get Values" to read the full competitor table from the sheet.

Step 2. For each competitor row, call Diffbot "Analyze URL (Auto-detect Page Type)" on the listed Site URL to pull the latest article links and metadata from the blog or newsroom index page. From the result, identify the article URLs published since the Last Seen URL marker (if Last Seen URL is blank, take only the single most recent article so the first run does not flood Slack). Preserve the order so the newest article on the index becomes the new Last Seen URL after the run.

Step 3. For each new article URL, call Diffbot "Extract Article" to get clean title, author, publish date, and body text.

Step 4. The agent groups findings by competitor and writes a tight Slack digest. Format: a short header line ("Competitor digest, [date]"), then one section per competitor that has new posts. Each section is the competitor name in bold, followed by one paragraph per new article containing the headline (linked to the source URL) and a 2 to 3 sentence "why it matters" take. The agent should reason about what is genuinely interesting (product launches, pricing, positioning shifts, leadership changes, customer wins) versus boilerplate (generic thought-leadership, hiring posts, recycled content) and lean toward signal. Skip competitors with nothing new. If no competitor has anything new, post a one-line "All quiet on the competitor front today" message.

Step 5. Post the digest to Slack using "Send a Message" to the configured channel (default suggestion: #competitive).

Step 6. For every competitor that had at least one new article this run, use Google Sheets "Update Values" to write the newest article URL back into that competitor's Last Seen URL cell, so tomorrow's run only picks up posts newer than today's.

Error handling: if Diffbot fails on a single site, log it, skip that competitor for this run, and continue with the rest. Do not update the Last Seen URL for a competitor whose extraction failed.

Additional information

What does this prompt do?
  • Reads your list of competitors and their blog or newsroom URLs from a Google Sheet you control.
  • Pulls the latest articles from each site, then grabs clean headlines, dates, and body text so the agent can actually read them.
  • Skips anything you have already seen by tracking the last article URL per competitor in the sheet.
  • Posts a Slack digest with one short paragraph per competitor: headline, link, and a 2 to 3 sentence take on why it matters.
What do I need to use this?
  • A Google Sheet with one row per competitor and columns for company name, blog or newsroom URL, and a Last Seen URL column the workflow updates.
  • A Diffbot account so the agent can read article pages cleanly through anti-bot pages and paywalls.
  • A Slack workspace and the channel you want the digest posted to (for example, #competitive).
How can I customize it?
  • Change when it runs. The default is every weekday at 8am Eastern, but any cadence works (daily, twice a week, Mondays only).
  • Change who sees it. Swap the Slack channel, post to a private channel, or DM a single person.
  • Tune the editorial voice. Tell the agent to focus on product launches and pricing changes, ignore hiring posts, or always include a one-line competitive read.

Frequently asked questions

What if a competitor publishes nothing on a given day?
The agent skips them. If no competitor has anything new, the workflow either stays quiet or posts a short "all quiet" note in Slack, your call.
Will it pick up the same article twice?
No. Each competitor row has a Last Seen URL field. The agent only summarizes articles published after that marker, then writes the newest URL back so tomorrow's run starts where today's left off.
Can I add or remove competitors without editing the workflow?
Yes. Just add or delete a row in the Google Sheet. The agent reads the sheet fresh on every run, so the next morning's digest reflects whatever is in there.
What if a competitor uses a newsroom or press page instead of a blog?
That works too. Drop the newsroom or press release URL in the same column and the agent will treat it the same way.
Can I get a longer summary or include screenshots?
Yes. You can ask the agent for a fuller multi-paragraph summary per article, key quotes, or links to images pulled from the post.

Stop refreshing competitor blogs by hand.

Connect Diffbot, Google Sheets, and Slack once. Geni reads every competitor's site each morning and posts the digest before you finish coffee.