Competitor 10-K risk factor diff to Notion and Slack

Catch every new competitor annual report at 6am, diff the Risk Factors against last year, and brief your team in Notion and Slack.

Agentic Task
SEC EDGARNotionSlackOperationsMarketingResearch & MonitoringAI ReportsNotifications & Alerts
PromptCreate

Build me an agent workflow that watches a list of competitor public companies for newly filed 10-K (or 20-F for foreign issuers) annual reports and produces a strategic brief on how each competitor's Risk Factors section changed year over year.

Trigger: cron, daily at 6:00am US Eastern time. Most annual reports hit EDGAR overnight, so a morning sweep catches the prior trading day's filings.

Inputs the agent should let me configure on setup: (1) a list of competitor CIKs or tickers (the agent should resolve tickers to CIKs once and remember them), (2) the Notion database ID for my Competitive Intel database, and (3) the Slack channel ID (default #competitive-intel).

Each run, for every configured competitor, the agent should:

1. Use SEC EDGAR's Get Company Submissions to pull recent filings for that CIK. Identify any 10-K or 20-F filed since the last successful run for that competitor. If none, skip that competitor silently.

2. When a new 10-K (or 20-F) is found, fetch the primary document for that filing and also locate and fetch the prior year's 10-K/20-F from the same company so it can compare year over year. The filing URL pattern is documented in the sec-edgar common_docs; follow it to construct the document URL from the accession number and primary document filename.

3. Isolate Item 1A 'Risk Factors' in both documents (for 20-F use the equivalent Risk Factors item). Diff them and classify each change as: added risk, removed risk, or materially rewritten risk. Ignore boilerplate reordering and cosmetic edits.

4. Write a short written brief (roughly 300 to 600 words) explaining what the changes likely signal about the business. Call out things like new competitors named by name, new geographies entered or exited, supply chain or concentration shifts, regulatory or litigation exposure, and AI / cybersecurity callouts. Lead with a one-line takeaway.

5. Use Notion's Create a Page to add the brief as a new page in my Competitive Intel database. Populate database properties for Company, Ticker, Filing Date, Form Type (10-K vs 20-F), and a link back to the filing on EDGAR. The brief itself goes in the page body, organized as: Takeaway, Added Risks, Removed Risks, Materially Rewritten Risks, and What This Likely Signals.

6. Use Slack's Send a Message to post a digest to #competitive-intel summarizing the run. Format: one bullet per competitor that filed, with company name, ticker, the single most notable risk-factor change, and a link to the Notion page. If multiple competitors filed in the same run, post one combined digest, not one message per filing.

If no competitor has a new 10-K or 20-F that run, exit silently. Do not post 'nothing today' messages to Slack.

Persistence requirement: the agent needs to remember, per competitor, the accession number of the most recently briefed filing, so the same 10-K is never briefed twice across runs.

Tone for the brief: analyst-style, concrete, no hedging adverbs. Quote short phrases from the filing when they are the most efficient way to make a point. Always cite the form type and filing date at the top of the page.

What does this prompt do?

  • Watches a list of competitor companies you care about and notices the moment a new annual report is filed.
  • Pulls this year's Risk Factors section and last year's version, then writes up what was added, dropped, or quietly rewritten.
  • Turns those changes into a short strategic brief explaining what the shifts likely signal about the business.
  • Files the brief in your Competitive Intel database in Notion and posts a digest in your Slack channel with the top three changes.

What do I need to use this?

  • A list of the public competitors you want to track. The agent will look them up the first time you run it.
  • A Notion workspace with a Competitive Intel database (or any database where briefs should land).
  • A Slack workspace and a channel for the daily digest, like #competitive-intel.

How can I customize it?

  • Change the watchlist of competitors at any time. Add a new ticker, drop one you stopped caring about.
  • Adjust the time of day. Many teams move it to 7am or 8am local time instead of 6am ET.
  • Swap the destination. Send the brief to a different Notion database, a different Slack channel, or email it to a distribution list.

FAQs

What's a 10-K risk factor diff and why does it matter?
A 10-K is the annual report every U.S. public company files. The Risk Factors section is where management spells out what they are worried about. Comparing this year's list to last year's is one of the cleanest signals of how a competitor's strategy and exposure are actually shifting, often months before it shows up in press releases.
Does this work for foreign competitors like European or Chinese companies?
Yes, if they file with the SEC. Foreign issuers file a form called 20-F instead of a 10-K, and the workflow handles both. Any competitor that does not file with the SEC at all cannot be tracked through this prompt.
What happens on days when no competitor files anything?
Nothing. The workflow checks quietly each morning and only writes a Notion page and posts to Slack when there is a real new filing to brief. You will not get noise.
Can I run it more than once a day?
Yes. The default is daily at 6am ET because annual reports are usually filed overnight. You can move it earlier, later, or run it twice a day. Filings only happen on weekdays, so weekend runs are basically free.
How does the agent know which Notion database to write to?
When you set the workflow up, you point it at the database you want briefs to land in. The agent matches the brief to the database's existing fields like company, ticker, filing date, and filing link.

Related templates

Partner tier review board for quarterly promotion calls

Work every partner tier decision from one board, with the revenue and commission numbers, clear promotion thresholds, and AI review briefs.

Introw
HubSpot
Slack
App
Reconcile partner commissions between HubSpot and Introw

Open one board at month end to find every closed deal missing a commission, every commission with no deal behind it, and every amount that does not add up.

Introw
HubSpot
Slack
App
Artwork desk for the Notion posts still missing an image

Open one screen each Monday to see which upcoming posts still have no image, generate three on-brand options, and file the one you pick.

Ideogram
Notion
Google Drive
App
One control room for every Instantly sending mailbox

See warmup status, daily send volume, and bounce risk for every sending account in one grid, with the riskiest mailboxes floating to the top.

Instantly
Slack
App
Partner payout approval queue with Xero bill handoff

Review Introw partner payouts line by line, approve them from one board, raise the matching bill in Xero, and post every approval to Slack.

Introw
Xero
Slack
App
One inbox for every Jira Service Management approval waiting on you

See every access, purchase and leave request waiting on your decision in one screen, approve or decline in place, and send the reason back to the requester.

Jira Service Management
Confluence
Slack
App

Stop reading 200-page annual reports to find the one paragraph that changed.

Connect SEC EDGAR, Notion, and Slack once, and Geni will brief you on every competitor's new risk disclosures the morning they file.