Form D fundraise tracker for Google Sheets and Slack

By General Input

Catch every new Form D private placement the moment it hits SEC EDGAR, log it to a Google Sheet, and digest the day's deals to Slack.

Integrations

  • SEC EDGAR
  • Google Sheets
  • Slack Bot

Type

Deterministic Code

Categories

  • Sales
  • Finance

Build a code workflow that tracks brand-new SEC Form D private placement filings, logs each one to a Google Sheet, and posts a digest of new filings to Slack.

Trigger: cron, every 30 minutes Monday through Friday between 6:00am and 9:00pm America/New_York. Persist the last successful run timestamp between runs so the next run only pulls filings dated on or after it (on the very first run, default to looking back 30 minutes).

Step 1: Call sec-edgar Full-Text Search Filings with forms=D and a date filter set to the last successful run timestamp. Send a descriptive User-Agent header per SEC EDGAR's fair-access rules. Page through results if there are more than the default page size.

Step 2: For each hit, extract company name, CIK, filing date, accession number, and the industry / SIC description when it is present in the hit metadata. Build the filing HTML link from the documented Archives URL pattern: https://www.sec.gov/Archives/edgar/data/{CIK}/{ACCESSION_NO_NODASHES}/{primaryDocument}, where CIK is unpadded and the accession number has its dashes stripped.

Step 3: Call google-sheets Get Values against the tracker spreadsheet to read the column of accession numbers already logged. Dedupe the new hits against it so already-logged filings are dropped.

Step 4: If there are still new hits after dedupe, call google-sheets Append Values to append one row per filing in this column order: Filing Date, Company, CIK, Accession, Industry, Filing Link. Use USER_ENTERED so the link is rendered as a clickable hyperlink.

Step 5: If one or more rows were appended, call slackbot Send a Message once to post a single digest to the #deal-flow channel that lists every newly added company with its filing link, formatted as Slack mrkdwn (one bullet per filing with <link|Company Name>). If zero rows were appended, skip the Slack call entirely so quiet runs stay quiet.

Configurable inputs: the Google Sheet ID and tab name, the Slack channel, the User-Agent string for SEC EDGAR, and the cron schedule. Default the channel to #deal-flow.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageLet support send one-off Loops emails without an engineerA brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensStop cold emails to anyone with a live deal in PipedriveLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasoniMessage campaign console with pre-flight checks and delivery board