Suivi automatisé du dépôt des formulaires SEC D avec l'intégration Google Sheets

Intermédiaire

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申报追踪器

Prérequis
  • Peut nécessiter les informations d'identification d'authentification de l'API cible
  • Informations d'identification Google Sheets API

Catégorie

Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "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
          }
        ]
      ]
    }
  }
}
Foire aux questions

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.

Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds11
Catégorie1
Types de nœuds7
Description de la difficulté

Adapté aux utilisateurs expérimentés, avec des workflows de complexité moyenne contenant 6-15 nœuds

Auteur
Naveen Choudhary

Naveen Choudhary

@n8nstein

I 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

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34