Daily Form 4 insider trading digest to Slack

By General Input

Every weekday at 8am ET, scan your watchlist for new insider buys and sells, then post a ranked Slack digest with every trade logged in a sheet.

Integrations

  • SEC EDGAR
  • Google Sheets
  • Slack

Type

Agentic Task

Categories

  • Finance
  • Personal Productivity

Build a weekday morning workflow that monitors my stock watchlist for new insider trading activity and digests the results to Slack. Trigger it on a cron every weekday at 8:00 AM Eastern, Monday through Friday. Skip Saturdays, Sundays, and U.S. market holidays, and exit early on those days.

At the start of each run, read my ticker watchlist from the first tab of a Google Sheet using Get Values. The sheet has one ticker per row in column A. Trim whitespace and uppercase each symbol before using it.

For each ticker, resolve the company to its SEC CIK by calling SEC EDGAR's List Company Tickers operation and matching on the ticker symbol. Zero-pad the CIK to 10 digits before any data.sec.gov call. Then call Get Company Submissions for each CIK and zip the columnar filings.recent arrays by index (accessionNumber, form, filingDate, primaryDocument) to find Form 4 filings with a filingDate equal to the most recent trading day.

For every new Form 4, fetch the primary filing document from the SEC Archives URL pattern (https://www.sec.gov/Archives/edgar/data/{CIK}/{ACCESSION_NO_NODASHES}/{primaryDocument}) and parse the structured transaction blocks. Extract: the reporting person's name and role (CEO, CFO, director, 10% owner, other officer), the transaction code (P for open-market buy, S for open-market sale, A for grant or award, M for option exercise, F for tax withholding, G for gift), share count, average price per share, total dollar value, and a permalink back to the filing. Always send a descriptive User-Agent header on SEC requests.

Judge significance with these rules. Highly notable: open-market purchases (code P) by C-suite or directors, cluster buys (two or more insiders at the same company on the same day), and first-time insider purchases. Notable: any single transaction whose total dollar value exceeds a configurable threshold (default $250,000). Background noise: planned 10b5-1 sales, small grants, and tax-withholding transactions. Log everything, but only surface notable and highly-notable trades in the Slack digest.

Append every parsed transaction as a row to a tab called 'Form 4 Log' in the same Google Sheet using Append Values, with columns: date, ticker, insider name, role, transaction type (human-readable like 'Open-market buy'), shares, price, dollar value, and filing URL. Before appending, read the existing log and dedupe by accession number plus reporting person so reruns do not double-post.

Finally, post one grouped Slack digest to a designated channel using Send a Message. Group transactions by ticker, lead with the most significant signals (cluster buys, first-time insider purchases, unusually large sales), and include insider name, role, shares, price, and dollar value per line with the filing link. End with a one-line 'quiet day' note if nothing material crossed the threshold. Keep the message under Slack's length limit by truncating long sections and linking to the sheet for the full log.

Ask me for: the Google Sheet ID (or URL), the Slack channel name or ID, the dollar threshold (default $250,000), and the run time (default 8:00 AM ET).

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageWin back LiveChat visitors whose chats went unansweredLet support send one-off Loops emails without an engineerStop cold emails to anyone with a live deal in PipedriveiMessage campaign console with pre-flight checks and delivery boardChat quality review board for LiveChat support leadsLinkedIn Ads budget pacing dashboard for every client accountFront desk appointment confirmation board for the next 3 daysGive your team Looker numbers without buying more seats