Form D fundraise tracker for Google Sheets and Slack
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.
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.
What does this prompt do?
- Watches SEC EDGAR for newly filed Form D fundraises every 30 minutes Monday through Friday during U.S. business hours.
- Logs each new filing to a Google Sheet with the company name, filing date, industry, and a direct link to the filing.
- Posts a single Slack digest to your deal-flow channel listing the new companies and links, so the whole team sees fresh raises in one place.
- Stays quiet on runs with nothing new, so your channel never fills up with empty pings.
What do I need to use this?
- A Google account with edit access to the spreadsheet you want filings logged into.
- A Slack workspace and the channel you want the digest posted to.
- A spreadsheet with a header row covering filing date, company, CIK, accession, industry, and filing link.
How can I customize it?
- Change how often it runs, for example every 15 minutes during market hours or only at the morning open.
- Swap the destination Slack channel, or send the digest as a DM to a specific person instead.
- Filter the filings before logging, for example only certain industries, states, or fundraise sizes.
FAQs
What is a Form D filing?
How fresh is the data?
Will it post the same filing twice if it runs again?
Can I send the digest to a private Slack channel?
What happens on runs with no new filings?
Related templates
Stage a batch of filings overnight, then approve each completed form from a screenshot before anything is ever submitted.
Pick a client and a date range to see sent, replies, meetings booked and the real deal value your cold email produced, campaign by campaign.
Review every conversation Fin closed as resolved, judge which ones actually stuck, and see what the gap is worth against your bill.
Merge your IT, HR and Facilities queues into one list ranked by SLA time left, then reply, change status and escalate without ever opening Jira.
Work every return, damage and warranty claim in one queue, with the order, the delivery date and a policy-backed recommendation already on screen.
See every page's translation status at a glance, edit translations side by side with the English, and publish only what your team has actually approved.
Stop refreshing EDGAR for new fundraises.
Connect SEC EDGAR, Google Sheets, and Slack once, and Geni watches Form D filings for your deal-flow team all business day.