Competitor and account news watchlist for Slack and HubSpot

By General Input

Every four hours, scan the news for tracked competitors and accounts, post keepers in Slack, and log them as notes on the matching HubSpot company.

Integrations

  • Real-Time News Data
  • Slack
  • HubSpot

Type

Agentic Task

Categories

  • Sales

Build me an agent workflow that watches the news for a configured list of competitors, target accounts, and topics, then fans out the keepers to Slack and HubSpot.

Trigger: cron, every 4 hours.

Configure these inputs directly in the prompt so I can edit them later:

- watchlist: a list of entries where each entry has a name (e.g. "Acme Corp", "AI agent platforms") and a kind ("competitor", "account", or "topic"). Account entries should also include a domain when known so the HubSpot lookup is more reliable.

- slack_channel: the channel where alerts should be posted (e.g. #competitive-intel).

- recency_window: the news recency window to search, defaulting to 6h so we have a small buffer over the 4h cadence and never miss a story published right after the previous run.

For each run:

1. For every watchlist entry, call Real-Time News Data's Search News with the entry name as the query and time_published set to the configured recency window so we do not re-surface old stories. Default country=us and language=en unless I say otherwise.

2. Judge each returned article. Keep it only if it is materially about the watched company or topic. Drop boilerplate listicles, roundup posts, SEO regurgitations, and tangential mentions where the watched name only appears in passing.

3. For every keeper, write a 2 to 3 sentence summary that captures the actual news, and pull the headline and source URL.

4. Dedupe across runs by remembering the article URLs already processed in a short rolling memory (the most recent ~500 URLs is plenty). Skip any article whose URL is in that memory before doing any further work on it.

5. For each surviving story, send a message in Slack via Send a Message to the configured channel. Format the message as: bolded headline on the first line, the 2 to 3 sentence summary, the source URL on its own line, and a small footer noting which watchlist entry it matched.

6. If the watchlist entry is a competitor or account (not a topic), use HubSpot Search Companies to find the matching company by name first, then by domain if the name does not match. If a company is found, call HubSpot Create Note to create a note containing the summary plus the article URL and associate the note with that company so account owners see it on the CRM record.

7. If no matching HubSpot company exists, just post to Slack and move on. Do not create new companies.

8. After processing, add the URLs of every story you posted (and every story you reviewed but skipped) to the rolling memory so the next run does not reconsider them.

Keep runs quiet when there is no fresh material news: do not post anything to Slack if no keepers survived filtering.

Use Real-Time News Data for the news source, Slack's Send a Message for the channel alerts, and HubSpot's Search Companies and Create Note for the CRM half.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredTurn Mailjet email clicks into ranked HubSpot follow-upsiMessage campaign console with pre-flight checks and delivery boardChat quality review board for LiveChat support leadsA searchable RFP answer library your bid team drafts fromSee which target accounts just started advertising on LinkedInAccount health board that puts product usage next to your CRMLook up a customer's full chat history mid conversationLusha prospecting workbench with credit-safe reveals