Rastreador automatizado de presentaciones del Formulario D de la SEC con integración de Google Sheets

Intermedio

Este es unCrypto Tradingflujo de automatización del dominio deautomatización que contiene 11 nodos.Utiliza principalmente nodos como Xml, Code, HttpRequest, GoogleSheets, ScheduleTrigger. Seguimiento automatizado de presentaciones de SEC Form D con integración de Google Sheets

Requisitos previos
  • Pueden requerirse credenciales de autenticación para la API de destino
  • Credenciales de API de Google Sheets
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "meta": {
    "instanceId": "8d41476c63702cd0f2be55363b48153c5d4820bb18197ca147e7be50ef236112",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "1f907433-9095-431b-aa67-183adc3480f2",
      "name": "Programar: Cada 10 min (Horario Laboral)",
      "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": "Obtener Presentaciones de Formulario D de la SEC",
      "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": "Analizar Fuente RSS de la SEC",
      "type": "n8n-nodes-base.xml",
      "position": [
        -384,
        -32
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "7f8b7312-b1ba-45ec-901c-5df83d549f66",
      "name": "Extraer y Formatear Datos de Presentación",
      "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": "Filtrar Solo Presentaciones Nuevas",
      "type": "n8n-nodes-base.removeDuplicates",
      "position": [
        64,
        -32
      ],
      "parameters": {
        "options": {},
        "operation": "removeItemsSeenInPreviousExecutions",
        "dedupeValue": "={{ $json.filingLinkTxt }}"
      },
      "typeVersion": 2
    },
    {
      "id": "440e3de1-7b0f-45b9-8c02-709fb539cf03",
      "name": "Guardar en Hoja de Datos de la 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": "Nota Adhesiva",
      "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": "Nota Adhesiva1",
      "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": "Nota Adhesiva2",
      "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": "Nota Adhesiva3",
      "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": "Nota Adhesiva4",
      "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
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Intermedio - Comercio de criptomonedas

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Información del flujo de trabajo
Nivel de dificultad
Intermedio
Número de nodos11
Categoría1
Tipos de nodos7
Descripción de la dificultad

Adecuado para usuarios con experiencia intermedia, flujos de trabajo de complejidad media con 6-15 nodos

Autor
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

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34