Daily competitor breakout monitor in Slack

Every weekday morning, see which competitor articles took off in the last 24 hours, ranked by social engagement, posted as a single Slack digest.

Agentic Task
BuzzSumoSlack BotMarketingDaily DigestsResearch & MonitoringNotifications & Alerts

Build me an agent workflow that runs every weekday at 9am ET on a cron trigger and posts a daily competitor content breakout digest to a Slack channel using BuzzSumo and Slack Bot.

Configurable inputs (expose these as workflow inputs so I can edit them later without touching the agent prompt):

- competitor_domains: an ordered list of competitor websites to monitor (e.g. ["competitor-a.com", "competitor-b.com", "competitor-c.com"]). Each entry is a bare domain, no protocol.

- slack_channel: the Slack channel ID or #name where the digest should be posted (default: a marketing channel).

- engagement_threshold: a minimum total engagement score under which an article is not considered a 'breakout'. Default 100. Total engagement = total_facebook_shares + twitter_shares + total_reddit_engagements.

- top_n_per_competitor: how many breakout articles to surface per competitor. Default 3.

What the agent should do on each run:

1. For each competitor domain in competitor_domains, call BuzzSumo's Search Articles operation with q set to a site: query (e.g. q=site:competitor-a.com), begin_date set to the Unix timestamp 24 hours ago, end_date set to now, num_results=100, and page=0. Use BuzzSumo's advanced boolean operators in q. Remember begin_date and end_date are Unix epoch seconds, not ISO strings. Auth is via the apiKey credential as a query parameter.

2. For each article returned, compute total_engagement = total_facebook_shares + twitter_shares + total_reddit_engagements. Also keep evergreen_score and num_linking_domains for context. Drop articles below engagement_threshold.

3. Rank the surviving articles per competitor by total_engagement (descending), with evergreen_score as a tiebreaker, and take the top top_n_per_competitor.

4. For each top article, write one short 'why this matters' line based on the headline and the engagement profile (e.g. 'Heavy Reddit pickup suggests a developer audience picked it up' or 'High evergreen score, likely a long-tail SEO play'). Keep it to a single sentence per article.

5. Compose a single Slack message with one section per competitor. Use Slack mrkdwn formatting. For each article, show: bold headline (linked to the article URL), publish date, total engagement count broken out by Facebook / Twitter / Reddit, and the 'why this matters' line. If a competitor had zero articles in the last 24 hours, show 'No new articles in the last 24 hours.' under their name. If no competitor across the entire list crossed the engagement_threshold, post a single short message saying 'Quiet morning — no competitor articles crossed the engagement threshold in the last 24 hours.' Do not post an empty digest.

6. Post the message to slack_channel using Slack Bot's Send a Message operation. One message per run, not multiple.

Operational notes for the agent: BuzzSumo Search API has a low monthly quota (100 calls/month on the free tier bundled with paid web subs), so one call per competitor per run is the budget — do not paginate past page 0 unless results are saturated. Space requests by ~1 second to avoid transient throttling, and retry on 429/5xx with exponential backoff. Never log or echo the BuzzSumo URL since the api_key travels in the query string.

Trigger: cron, Mon–Fri 09:00 America/New_York. Make the schedule editable from the workflow inputs.

Additional information

What does this prompt do?
  • Watches a list of competitor websites and pulls every article they published in the last 24 hours.
  • Ranks each competitor's articles by total social engagement across Facebook, Twitter, Reddit, and evergreen score.
  • Summarizes the top three breakout articles per competitor in plain English with the headline, publish date, share counts, and a one-line take on why it matters.
  • Posts one tidy digest to your marketing Slack channel each weekday, or a single 'nothing crossed the threshold today' note if it's a quiet morning.
What do I need to use this?
  • A BuzzSumo account on a paid plan (API access is included with paid web subscriptions).
  • A Slack workspace where you can install a bot and let it post in your marketing channel.
  • A short list of competitor websites you want to track.
How can I customize it?
  • Edit the competitor list to add, remove, or rename the brands you track.
  • Change the run time, the days of the week, or the Slack channel the digest posts to.
  • Raise or lower the engagement threshold that decides what counts as a 'breakout' article worth flagging.

Frequently asked questions

How does it decide which articles are breakouts?
It pulls every article each competitor published in the last 24 hours, then ranks them by total social engagement (Facebook shares, Twitter shares, Reddit engagements, and BuzzSumo's evergreen score). The top three per competitor make the digest.
What happens on a slow news day?
If no competitor crossed your engagement threshold, the digest posts a single line saying so instead of a noisy empty message. You can adjust the threshold to make the bar higher or lower.
Can I track more than a handful of competitors?
Yes. The competitor list is just a list of websites, so you can add as many as you like. Keep in mind BuzzSumo's API quota counts one search per competitor per run, so watch your monthly limit if the list gets long.
Will the message look like a person sent it or a bot?
It posts as a Slack bot in the channel you choose, so it's clearly an automated digest and won't be confused with a teammate's message.
Do I need a paid BuzzSumo plan?
Yes. BuzzSumo only offers API access on paid web subscriptions. Free trials don't include the API key this workflow needs.
What if a competitor doesn't publish anything that day?
That competitor's section in the digest will note that there were no new articles in the last 24 hours, so you still get a clear at-a-glance view of who shipped and who didn't.

Stop refreshing competitor blogs every morning.

Connect BuzzSumo and Slack once, and Geni delivers a ranked breakout digest to your marketing channel every weekday at 9am.