Why Monitor SEC Filings?
Public companies file 10-K, 10-Q, and 8-K reports with the SEC. These filings contain earnings, risk factors, insider transactions, and material events. Monitoring them manually means checking EDGAR repeatedly.
This workflow automates it: check EDGAR on a schedule, get Slack alerts when new filings appear.
The Workflow (4 Nodes)
Node 1: Schedule Trigger
Runs every 6 hours (adjust to your needs).
Node 2: Search SEC EDGAR
Uses the SEC EDGAR Filings actor on Apify:
{
"companyName": "Tesla",
"formTypes": ["10-K", "10-Q", "8-K"],
"maxResults": 10
}
You can search by company name, CIK number, or ticker. Filter by form type to only get the filings you care about.
Node 3: Get Results
Fetch the dataset from Apify. Each filing includes:
- Company name and CIK
- Form type (10-K, 10-Q, 8-K, etc.)
- Filing date
- Direct link to the filing on EDGAR
- Filing description
Node 4: Post to Slack
Send each filing as a Slack message:
New SEC Filing: 8-K - Tesla Inc
Filed: 2026-03-28
Link: https://www.sec.gov/Archives/edgar/...
Cost
$0.002 per filing result. Checking 10 filings every 6 hours = ~$0.08/day.
Import the Workflow
{
"name": "SEC EDGAR Filing Alerts to Slack",
"nodes": [
{
"parameters": {
"rule": {"interval": [{"field": "hours", "hoursInterval": 6}]}
},
"id": "schedule-node",
"name": "Every 6 Hours",
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1.2,
"position": [240, 300]
},
{
"parameters": {
"actorId": "pink_comic/sec-edgar-company-filings",
"input": "{\n \"companyName\": \"Tesla\",\n \"formTypes\": [\"10-K\", \"10-Q\", \"8-K\"],\n \"maxResults\": 10\n}",
"options": {"memoryMbytes": 256, "timeoutSecs": 120, "waitForFinish": 120}
},
"id": "run-actor",
"name": "Search SEC EDGAR Filings",
"type": "@apify/n8n-nodes-apify.apify",
"typeVersion": 1,
"position": [460, 300]
},
{
"parameters": {
"method": "GET",
"url": "=https://api.apify.com/v2/datasets/{{ $json.defaultDatasetId }}/items?format=json",
"authentication": "genericCredentialType",
"genericAuthType": "httpQueryAuth",
"options": {}
},
"id": "get-results",
"name": "Get Filings",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [680, 300]
},
{
"parameters": {
"channel": "#sec-filings",
"text": "=New SEC Filing: {{ $json.formType }} - {{ $json.companyName }}\nFiled: {{ $json.filingDate }}\nLink: {{ $json.filingUrl }}",
"otherOptions": {}
},
"id": "slack-node",
"name": "Post to Slack",
"type": "n8n-nodes-base.slack",
"typeVersion": 2.2,
"position": [900, 300]
}
],
"connections": {
"Every 6 Hours": {"main": [[{"node": "Search SEC EDGAR Filings", "type": "main", "index": 0}]]},
"Search SEC EDGAR Filings": {"main": [[{"node": "Get Filings", "type": "main", "index": 0}]]},
"Get Filings": {"main": [[{"node": "Post to Slack", "type": "main", "index": 0}]]}
}
}
Install the @apify/n8n-nodes-apify community node in n8n before importing.
Variations
- Email instead of Slack: Replace the Slack node with a Send Email node
- Google Sheets log: Add a Google Sheets node to keep a running log of all filings
- Multi-company: Duplicate the Apify node for each company you want to track
- Filter new only: Add an IF node to compare filing dates and only alert on filings from the last 24 hours
Related Actors
- YellowPages Business Leads — Local business lead extraction
- FEC Campaign Finance — Political donation data
- CFPB Consumer Complaints — Consumer complaint monitoring
All $0.002/result, pay-per-result.
Top comments (0)