Suivi automatisé du dépôt des formulaires SEC D avec l'intégration Google Sheets
Ceci est unCrypto Tradingworkflow d'automatisation du domainecontenant 11 nœuds.Utilise principalement des nœuds comme Xml, Code, HttpRequest, GoogleSheets, ScheduleTrigger. Google表格intégrationdeautomatisationSEC Form D申报追踪器
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
- •Informations d'identification Google Sheets API
Nœuds utilisés (11)
Catégorie
{
"meta": {
"instanceId": "8d41476c63702cd0f2be55363b48153c5d4820bb18197ca147e7be50ef236112",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "1f907433-9095-431b-aa67-183adc3480f2",
"name": "Planification : Toutes les 10 min (Heures Ouvrées)",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-832,
-32
],
"parameters": {
"rule": {
"interval": [
{
"field": "cronExpression",
"expression": "*/10 6-21 * * 1-5"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "c74658c1-167f-4d15-86c5-de80b9ad5dfb",
"name": "Récupérer les Déclarations SEC Formulaire D",
"type": "n8n-nodes-base.httpRequest",
"position": [
-608,
-32
],
"parameters": {
"url": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcurrent&CIK=&type=D&company=&dateb=&owner=include&start=0&count=40&output=atom",
"options": {},
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "User-Agent",
"value": "iRocket VC matthew@irocket.vc"
},
{
"name": "Accept-Encoding",
"value": "gzip, deflate"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "55a90c03-a9ed-45f6-a80b-d8a0c862e369",
"name": "Analyser le Flux RSS de la SEC",
"type": "n8n-nodes-base.xml",
"position": [
-384,
-32
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "7f8b7312-b1ba-45ec-901c-5df83d549f66",
"name": "Extraire et Formater les Données de Déclaration",
"type": "n8n-nodes-base.code",
"position": [
-160,
-32
],
"parameters": {
"jsCode": "// Extract the entries array\nconst entries = $('Parse SEC RSS Feed').first().json.feed.entry;\n\n// Map each entry to a flat object\nreturn entries.map(entry => {\n // Best method: Extract CIK from title (in parentheses)\n const titleMatch = entry.title.match(/\\((\\d{10})\\)/);\n const cikNumber = titleMatch ? titleMatch[1].replace(/^0+/, '') : '';\n \n // Get the HTML link\n const htmlLink = entry.link.href;\n \n // Convert to TXT link by:\n // 1. Removing \"-index.htm\" at the end\n // 2. Adding \".txt\" extension\n const txtLink = htmlLink.replace('-index.htm', '.txt');\n \n return {\n cikNumber: cikNumber || '',\n title: entry.title,\n formType: entry.category.term,\n filingLinkHtml: htmlLink,\n filingLinkTxt: txtLink,\n updated: entry.updated\n };\n});"
},
"typeVersion": 2
},
{
"id": "cb06eac4-66bc-4cc5-a248-5a4453e04382",
"name": "Filtrer Seulement les Nouvelles Déclarations",
"type": "n8n-nodes-base.removeDuplicates",
"position": [
64,
-32
],
"parameters": {
"options": {},
"operation": "removeItemsSeenInPreviousExecutions",
"dedupeValue": "={{ $json.filingLinkTxt }}"
},
"typeVersion": 2
},
{
"id": "440e3de1-7b0f-45b9-8c02-709fb539cf03",
"name": "Sauvegarder dans la Feuille de Données SEC",
"type": "n8n-nodes-base.googleSheets",
"position": [
288,
-32
],
"parameters": {
"columns": {
"value": {
"title": "={{ $json.title }}",
"updated": "={{ $json.updated }}",
"formType": "={{ $json.formType }}",
"cikNumber": "={{ $json.cikNumber }}",
"filingLinkTxt": "={{ $json.filingLinkTxt }}",
"filingLinkHtml": "={{ $json.filingLinkHtml }}"
},
"schema": [
{
"id": "cikNumber",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "cikNumber",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "title",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "formType",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "formType",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "filingLinkHtml",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "filingLinkHtml",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "filingLinkTxt",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "filingLinkTxt",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "updated",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "updated",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1VoGfVpk1mMrqKIc5hsO7peYuLx0SwhsbW7uUeYJCmrU/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1VoGfVpk1mMrqKIc5hsO7peYuLx0SwhsbW7uUeYJCmrU",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1VoGfVpk1mMrqKIc5hsO7peYuLx0SwhsbW7uUeYJCmrU/edit?usp=drivesdk",
"cachedResultName": "SEC Data"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "V4NHfo08zBK4IW4e",
"name": "[Naveen]Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "a4ea4d52-7a65-4858-916c-17043aeed742",
"name": "Note Adhésive",
"type": "n8n-nodes-base.stickyNote",
"position": [
-448,
-560
],
"parameters": {
"width": 528,
"height": 208,
"content": "🏛️ SEC FORM D FILING TRACKER \n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n📊 Monitors SEC Form D filings automatically\n💼 Tracks private placements & fundraising \n📈 Perfect for VCs and investment research\n\n⏰ Runs every 10 minutes during business hours\n🔄 Filters duplicates and saves to Google Sheets"
},
"typeVersion": 1
},
{
"id": "b49bec0b-28db-4732-acbd-db8664564b3d",
"name": "Note Adhésive1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1296,
-128
],
"parameters": {
"color": 5,
"width": 400,
"height": 288,
"content": "⏰ AUTOMATED MONITORING\n━━━━━━━━━━━━━━━━━━━━━━━\n\n📅 Schedule: Every 10 minutes\n🕕 Hours: 6 AM - 9 PM EST\n📆 Days: Monday - Friday (Business days)\n\n💡 Customize timing:\n- Change interval (*/10 = every 10 min)\n- Adjust hours (6-21 = 6AM-9PM)\n- Modify days (1-5 = Mon-Fri)\n\n⚠️ Respects SEC server load during business hours"
},
"typeVersion": 1
},
{
"id": "9c2363fe-11e2-4de0-99e9-99f3d6a7311f",
"name": "Note Adhésive2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-736,
176
],
"parameters": {
"color": 4,
"width": 352,
"height": 192,
"content": "🌐 SEC EDGAR FEED\n━━━━━━━━━━━━━━━━━\n\n📋 Fetches 40 most recent Form D filings\n🏢 Requires User-Agent header for compliance\n📡 Returns RSS/XML format with filing links\n\n⚠️ Must include proper User-Agent header"
},
"typeVersion": 1
},
{
"id": "0f1414da-6905-4fbb-b8fd-86d21849ecea",
"name": "Note Adhésive3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-384,
-272
],
"parameters": {
"color": 6,
"width": 352,
"height": 192,
"content": "⚙️ DATA EXTRACTION\n━━━━━━━━━━━━━━━━━━\n\n🏗️ Extracts CIK numbers from titles\n🔗 Generates HTML & TXT filing links\n📅 Formats data for Google Sheets\n\n📊 Output: CIK, Title, Form Type, Links, Date"
},
"typeVersion": 1
},
{
"id": "80833ab1-2e86-4feb-a757-5c535e2ec1c7",
"name": "Note Adhésive4",
"type": "n8n-nodes-base.stickyNote",
"position": [
176,
144
],
"parameters": {
"color": 7,
"width": 544,
"height": 336,
"content": "📋 GOOGLE SHEETS OUTPUT\n━━━━━━━━━━━━━━━━━━━━━━━\n\n📄 Appends new filings only\n💾 Saves: CIK, Title, Form Type, Links, Date\n🔐 Requires Google Sheets OAuth setup\n\n🔗 TEMPLATE SHEET:\nhttps://docs.google.com/spreadsheets/d/1VoGfVpk1mMrqKIc5hsO7peYuLx0SwhsbW7uUeYJCmrU/edit?usp=sharing\n\n✅ Steps:\n1. Make a copy of template above\n2. Update Sheet ID in this node \n3. Point to your copied sheet"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"55a90c03-a9ed-45f6-a80b-d8a0c862e369": {
"main": [
[
{
"node": "7f8b7312-b1ba-45ec-901c-5df83d549f66",
"type": "main",
"index": 0
}
]
]
},
"440e3de1-7b0f-45b9-8c02-709fb539cf03": {
"main": [
[]
]
},
"cb06eac4-66bc-4cc5-a248-5a4453e04382": {
"main": [
[
{
"node": "440e3de1-7b0f-45b9-8c02-709fb539cf03",
"type": "main",
"index": 0
}
]
]
},
"c74658c1-167f-4d15-86c5-de80b9ad5dfb": {
"main": [
[
{
"node": "55a90c03-a9ed-45f6-a80b-d8a0c862e369",
"type": "main",
"index": 0
}
]
]
},
"7f8b7312-b1ba-45ec-901c-5df83d549f66": {
"main": [
[
{
"node": "cb06eac4-66bc-4cc5-a248-5a4453e04382",
"type": "main",
"index": 0
}
]
]
},
"1f907433-9095-431b-aa67-183adc3480f2": {
"main": [
[
{
"node": "c74658c1-167f-4d15-86c5-de80b9ad5dfb",
"type": "main",
"index": 0
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Intermédiaire - Trading crypto
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Naveen Choudhary
@n8nsteinI create AI-driven n8n workflows that turn repetitive tasks into smooth, hands-off automations. Want to explore an idea? Book a quick consult: https://cal.com/nickchoudhary/30min
Partager ce workflow