AutomationFlowsSlack & Telegram › Daily Recon + New Subdomain Alert

Daily Recon + New Subdomain Alert

Daily Recon + New Subdomain Alert. Uses httpRequest, readBinaryFiles, slack, telegram. Scheduled trigger; 6 nodes.

Cron / scheduled trigger★★☆☆☆ complexity6 nodesHTTP RequestRead Binary FilesSlackTelegram
Slack & Telegram Trigger: Cron / scheduled Nodes: 6 Complexity: ★★☆☆☆ Added:

This workflow follows the HTTP Request → Slack recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "Daily Recon + New Subdomain Alert",
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours",
              "hoursInterval": 24
            }
          ]
        }
      },
      "name": "Every 24 hours",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        240,
        300
      ],
      "id": "schedule-1"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "http://mcp-server:8080/tools/subdomain_enum",
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "domain",
              "value": "={{ $json.target }}"
            }
          ]
        },
        "options": {
          "timeout": 90000
        }
      },
      "name": "Run Subdomain Enum",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        460,
        300
      ],
      "id": "subdomain-1"
    },
    {
      "parameters": {
        "operation": "read",
        "filePath": "/data/subdomains_previous.txt"
      },
      "name": "Read Previous Results",
      "type": "n8n-nodes-base.readBinaryFiles",
      "position": [
        460,
        480
      ],
      "id": "read-prev"
    },
    {
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{ $json.new_subdomains.length }}",
              "operation": "notEqual",
              "value2": "0"
            }
          ]
        }
      },
      "name": "New subdomains found?",
      "type": "n8n-nodes-base.if",
      "position": [
        700,
        300
      ],
      "id": "if-new"
    },
    {
      "parameters": {
        "webhookUri": "={{ $env.SLACK_WEBHOOK }}",
        "text": "\ud83d\udea8 *New subdomains found!*\n\nTarget: {{ $json.target }}\nNew subdomains:\n```\n{{ $json.new_subdomains.join('\\n') }}\n```\n\nTotal now: {{ $json.total }}"
      },
      "name": "Slack Alert",
      "type": "n8n-nodes-base.slack",
      "position": [
        920,
        220
      ],
      "id": "slack-alert"
    },
    {
      "parameters": {
        "chatId": "={{ $env.TELEGRAM_CHAT_ID }}",
        "text": "\ud83d\udea8 New subdomains found for {{ $json.target }}!\n\n{{ $json.new_subdomains.join('\\n') }}",
        "additionalFields": {
          "parse_mode": "Markdown"
        }
      },
      "name": "Telegram Alert",
      "type": "n8n-nodes-base.telegram",
      "position": [
        920,
        380
      ],
      "id": "telegram-alert"
    }
  ],
  "connections": {
    "Every 24 hours": {
      "main": [
        [
          {
            "node": "Run Subdomain Enum",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Run Subdomain Enum": {
      "main": [
        [
          {
            "node": "New subdomains found?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "New subdomains found?": {
      "main": [
        [
          {
            "node": "Slack Alert",
            "type": "main",
            "index": 0
          },
          {
            "node": "Telegram Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "tags": [
    {
      "name": "bug-bounty"
    }
  ],
  "notes": "Edit the 'target' value and add your SLACK_WEBHOOK/TELEGRAM_CHAT_ID to n8n environment variables."
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Daily Recon + New Subdomain Alert. Uses httpRequest, readBinaryFiles, slack, telegram. Scheduled trigger; 6 nodes.

Source: https://github.com/Coding-with-Mayank/advanced-bugbounty-mcp/blob/45ae2ae0675ca68d30a4366e44cc4718bdacacb8/n8n-workflows/daily-recon.json — original creator credit. Request a take-down →

More Slack & Telegram workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Slack & Telegram

This workflow continuously monitors the Meta Ads Library for new creatives from a specific competitor pages, logs them into Google Sheets, and sends a concise Telegram notification with the number of

HTTP Request, Telegram, Google Sheets +1
Slack & Telegram

> n8n, Binance API, Google Sheets, Slack, Telegram, Jira & Email

HTTP Request, Google Sheets, Slack +3
Slack & Telegram

This workflow automatically notifies you when Bitcoin or Ethereum drops more than a set percentage in the last 24 hours. It’s ideal for traders who want to stay ready for buy-the-dip opportunities wit

HTTP Request, Telegram, Slack +1
Slack & Telegram

This workflow performs scheduled health checks on a list of URLs stored in a Google Sheet. Every X minutes, it retrieves the URLs, sends HTTP requests to check their availability, and notifies a Teleg

Telegram, Google Sheets, HTTP Request
Slack & Telegram

This workflow periodically checks the status of a website. If the website is not reachable (returns an error or non-2xx status code), it sends an alert to a specified Slack channel.

HTTP Request, Slack