AutomationFlowsSlack & Telegram › Local Falcon Rank Alerts to Discord

Local Falcon Rank Alerts to Discord

Original n8n title: Send Local Falcon Rank Alerts to Discord

Send Local Falcon rank alerts to Discord. Uses @local-falcon/n8n-nodes-localfalcon, httpRequest. Scheduled trigger; 9 nodes.

Cron / scheduled trigger★★★★☆ complexity9 nodes@Local Falcon/N8N Nodes LocalfalconHTTP Request
Slack & Telegram Trigger: Cron / scheduled Nodes: 9 Complexity: ★★★★☆ Added:

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": "Send Local Falcon rank alerts to Discord",
  "nodes": [
    {
      "parameters": {
        "content": "## Send Local Falcon Rank Alerts to Discord\n\n**Who is this for:** Teams using Discord for communication who want ranking alerts delivered to their server channels.\n\n**What this workflow does:**\n1. Monitors Local Falcon trend reports daily\n2. Detects significant ranking changes\n3. Sends formatted alerts to Discord channel\n4. Color-codes messages (green for improvements, red for drops)\n\n**How to set up:**\n1. Add your Local Falcon API credentials (get your key at https://www.localfalcon.com/api/credentials)\n2. Create a Discord webhook for your channel\n3. Add the webhook URL in Settings\n4. Configure alert thresholds\n5. Activate the workflow\n\n**Requirements:**\n- Local Falcon account with API access\n- Discord server with webhook permissions\n- Existing campaigns with scan data\n\n**How to customize:**\n- Create separate channels for different clients\n- Add role mentions for critical alerts\n- Include embed images with rank charts\n- Set up different alert levels",
        "height": 480,
        "width": 460,
        "color": 5
      },
      "id": "sticky-main",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        100,
        -160
      ]
    },
    {
      "parameters": {
        "content": "### Step 1: Schedule\nChecks for changes daily.",
        "height": 100,
        "width": 200
      },
      "id": "sticky-step1",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        40,
        640
      ]
    },
    {
      "parameters": {
        "content": "### Step 2: Get Trends\nFetches ranking changes.",
        "height": 100,
        "width": 200
      },
      "id": "sticky-step2",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        300,
        640
      ]
    },
    {
      "parameters": {
        "content": "### Step 3: Process\nFilters significant changes.",
        "height": 100,
        "width": 200
      },
      "id": "sticky-step3",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        560,
        640
      ]
    },
    {
      "parameters": {
        "content": "### Step 4: Discord\nSends alert to channel.",
        "height": 100,
        "width": 200
      },
      "id": "sticky-step4",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        820,
        640
      ]
    },
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "days",
              "triggerAtHour": 9
            }
          ]
        }
      },
      "id": "schedule",
      "name": "Every Day 9am",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        140,
        420
      ]
    },
    {
      "parameters": {
        "resource": "report",
        "operation": "listTrend",
        "additionalFields": {
          "limit": 50
        }
      },
      "id": "get-trends",
      "name": "Get Trend Reports",
      "type": "@local-falcon/n8n-nodes-localfalcon.localFalcon",
      "typeVersion": 1,
      "position": [
        400,
        420
      ],
      "credentials": {
        "localFalconApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "const reports = $input.first().json.reports || [];\nconst threshold = 2;\nconst webhookUrl = 'YOUR_DISCORD_WEBHOOK_URL';\n\nconst alerts = reports.filter(r => {\n  const change = Math.abs(parseFloat(r.rank_change) || 0);\n  return change >= threshold;\n});\n\nif (alerts.length === 0) return [];\n\nconst embeds = alerts.map(alert => {\n  const change = parseFloat(alert.rank_change) || 0;\n  const isImprovement = change < 0;\n  \n  return {\n    title: isImprovement ? '\ud83d\udcc8 Rank Improved!' : '\ud83d\udcc9 Rank Dropped',\n    color: isImprovement ? 3066993 : 15158332, // Green or Red\n    fields: [\n      { name: 'Location', value: alert.location_name || 'Unknown', inline: true },\n      { name: 'Keyword', value: alert.keyword || 'Unknown', inline: true },\n      { name: 'Change', value: `${alert.previous_avg_rank} \u2192 ${alert.avg_rank}`, inline: true }\n    ],\n    footer: { text: 'Local Falcon Alert' },\n    timestamp: new Date().toISOString()\n  };\n});\n\nreturn [{\n  json: {\n    webhookUrl: webhookUrl,\n    content: `**Local Falcon Daily Alert** - ${alerts.length} ranking change(s) detected`,\n    embeds: embeds.slice(0, 10) // Discord limit\n  }\n}];"
      },
      "id": "process",
      "name": "Process Alerts",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        660,
        420
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "={{ $json.webhookUrl }}",
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "content",
              "value": "={{ $json.content }}"
            },
            {
              "name": "embeds",
              "value": "={{ JSON.stringify($json.embeds) }}"
            }
          ]
        },
        "options": {}
      },
      "id": "discord",
      "name": "Send to Discord",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        920,
        420
      ]
    }
  ],
  "connections": {
    "Every Day 9am": {
      "main": [
        [
          {
            "node": "Get Trend Reports",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Trend Reports": {
      "main": [
        [
          {
            "node": "Process Alerts",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Process Alerts": {
      "main": [
        [
          {
            "node": "Send to Discord",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "meta": {
    "templateCredsSetupCompleted": true
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

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

About this workflow

Send Local Falcon rank alerts to Discord. Uses @local-falcon/n8n-nodes-localfalcon, httpRequest. Scheduled trigger; 9 nodes.

Source: https://github.com/local-falcon/n8n-templates/blob/3dd7676046b6b8efc3bda40821cc944664db80f2/templates/27-discord-rank-alerts.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 is designed for engineering teams, project managers, and IT operations who need consistent visibility into team availability across multiple projects. It’s perfect for organizations that

HTTP Request, Execute Workflow Trigger, Slack
Slack & Telegram

⚠️ Heads up: this is satire. The "Hell Yeah!" workflow is a parody of "automate your whole life with AI agents" grindset content. The API endpoints are fictional and the function nodes are illustrativ

HTTP Request, Salesforce, Telegram +4
Slack & Telegram

This professional-grade n8n workflow automation is designed for crypto traders, investors, and market analysts who need real-time volume change alerts across different market cap segments. Whether you

HTTP Request, Data Table
Slack & Telegram

This workflow is an automated system that tracks End-of-Life (EOL) dates for software and technologies used across your projects. It eliminates the need to manually monitor EOL dates in spreadsheets o

HTTP Request, Noco Db, Slack
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