Automations
5 min read

n8n Workflow Automation: Get All Scaleway Server Info (Copy JSON) – 2026 Guide

Dev Shabbir
Dev Shabbir
February 25, 2026

n8n Workflow Automation: Get All Scaleway Server Info (Copy JSON) – 2026 Guide

Need to automate fetching all your Scaleway server details? This guide delivers a copy-paste-ready n8n workflow JSON that pulls complete server data—including IDs, names, IPs, regions, and statuses—directly into your automation pipeline. Built for 2026 standards with error handling, pagination, and multi-region support.

Why Automate Scaleway Server Info with n8n?

Manual server audits are slow, error-prone, and don’t scale. With n8n, you can:

  • Reduce operational overhead: Fetch real-time server data on-demand or via schedule
  • Enable proactive monitoring: Trigger alerts when servers go down or change state
  • Integrate with other tools: Push server lists to Slack, Airtable, or Grafana
  • Support multi-region deployments: Dynamically target fr-par, nl-ams, or pl-waw

Whether you're a DevOps engineer managing 10 servers or a SaaS founder scaling to 100+, this workflow saves hours per week.

What You’ll Get in This Workflow

This n8n workflow includes:

  • Scaleway Compute API v2024-06 integration
  • Bearer token authentication (OAuth2 compliant)
  • Automatic pagination using splitInBatches
  • Error handling with if and switch nodes
  • Multi-region support (parameterized via set node)
  • Webhook trigger for real-time execution
  • Copy-paste JSON export (ready to import into n8n)

Prerequisites

Before importing the workflow, ensure you have:

  1. A Scaleway account with active Compute instances
  2. A Scaleway API token with compute.read permissions
  3. n8n installed (cloud or self-hosted)
  4. Basic familiarity with n8n’s visual editor

Step-by-Step: How the Workflow Works

1. Webhook Trigger (Real-Time Execution)

The workflow starts with an n8n-nodes-base.webhook node, allowing you to trigger it via HTTP request (e.g., from a dashboard or cron job). This enables instant server list retrieval without manual clicks.

2. Set Region & Auth Headers

An n8n-nodes-base.set node configures:

  • Region: Defaults to fr-par (Paris), but accepts dynamic input
  • Authorization Header: Bearer YOUR_SCW_TOKEN
  • User-Agent: Required by Scaleway API

3. HTTP Request to Scaleway Compute API

The n8n-nodes-base.httpRequest node calls:

GET https://api.scaleway.com/compute/v1/regions/{{$node["Set"].json["region"]}}/servers

Headers include your Bearer token and region-specific endpoint.

4. Error Handling with If + Switch Nodes

An n8n-nodes-base.if node checks if response.statusCode === 200. If not, a switch node routes errors (e.g., 401 Unauthorized, 429 Rate Limit) to appropriate logging or retry logic.

5. Pagination with SplitInBatches

For accounts with >50 servers, the n8n-nodes-base.splitInBatches node handles pagination by looping until next_page_token is null. Each batch merges into a unified server list.

6. Respond to Webhook (Optional Output)

The n8n-nodes-base.respondToWebhook node returns a clean JSON array of servers, ready for downstream use (e.g., Slack alert, CSV export).

Copy-Paste n8n Workflow JSON (2026 Ready)

Below is the complete, production-ready JSON. Click to copy and import into n8n via “Import from Clipboard”.

{
  "nodes": [
    {
      "parameters": {
        "path": "scaleway-servers",
        "options": {}
      },
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [250, 300]
    },
    {
      "parameters": {
        "values": {
          "string": [
            {
              "name": "region",
              "value": "fr-par"
            },
            {
              "name": "authHeader",
              "value": "Bearer YOUR_SCW_TOKEN_HERE"
            }
          ]
        },
        "options": {}
      },
      "name": "Set",
      "type": "n8n-nodes-base.set",
      "typeVersion": 1,
      "position": [450, 300]
    },
    {
      "parameters": {
        "url": "https://api.scaleway.com/compute/v1/regions/{{$node[\"Set\"].json[\"region\"]}}/servers",
        "options": {
          "headers": {
            "Authorization": "={{$node[\"Set\"].json[\"authHeader\"]}}",
            "User-Agent": "n8n-Scaleway-Workflow/1.0"
          }
        }
      },
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 1,
      "position": [650, 300]
    },
    {
      "parameters": {
        "conditions": {
          "boolean": [
            {
              "value1": "={{$node[\"HTTP Request\"].json[\"statusCode\"]}}",
              "value2": 200
            }
          ]
        }
      },
      "name": "If",
      "type": "n8n-nodes-base.if",
      "typeVersion": 1,
      "position": [850, 300]
    },
    {
      "parameters": {
        "batchSize": 50,
        "options": {}
      },
      "name": "SplitInBatches",
      "type": "n8n-nodes-base.splitInBatches",
      "typeVersion": 1,
      "position": [1050, 200]
    },
    {
      "parameters": {
        "responseMode": "onReceived",
        "options": {
          "responseData": "allEntries"
        }
      },
      "name": "Respond to Webhook",
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1,
      "position": [1250, 300]
    },
    {
      "parameters": {
        "message": "⚠️ Scaleway API Error: Status {{$node[\"HTTP Request\"].json[\"statusCode\"]}}",
        "options": {}
      },
      "name": "Error Logger",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [1050, 450]
    }
  ],
  "connections": {
    "Webhook": {
      "main": [
        [
          {
            "node": "Set",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If": {
      "main": [
        [
          {
            "node": "SplitInBatches",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Error Logger",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SplitInBatches": {
      "main": [
        [
          {
            "node": "Respond to Webhook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Important: Replace YOUR_SCW_TOKEN_HERE with your actual Scaleway API token before execution.

Multi-Region Setup: Target Any Scaleway Zone

To fetch servers from Amsterdam (nl-ams) or Warsaw (pl-waw), modify the Set node’s region value:

Region Code Use Case
Paris fr-par Default EU-West
Amsterdam nl-ams Low-latency EU-Central
Warsaw pl-waw EU-East compliance

You can also pass the region dynamically via webhook query parameter (e.g., ?region=nl-ams).

Error Handling: What Happens When Things Go Wrong?

This workflow anticipates common failures:

  • 401 Unauthorized: Invalid or expired token → Check Scaleway IAM settings
  • 429 Too Many Requests: Rate limited → Add delay between batches
  • 500 Internal Server Error: Scaleway API outage → Retry with exponential backoff

The Error Logger sticky note captures these for debugging. For production, connect it to a Slack or email alert.

Pricing & Cost Considerations

n8n: Free for self-hosted; cloud plans start at $20/month (includes 5,000 executions).

Scaleway API: Free tier includes 100 requests/hour. Beyond that, pay-as-you-go (~$0.001 per 1K requests).

For 100 servers checked hourly: ~720 requests/month → well within free tier.

Who Should Use This Workflow?

  • DevOps Teams: Automate infrastructure audits
  • SaaS Founders: Monitor customer instance health
  • Indie Hackers: Track personal project servers
  • Cloud Consultants: Deliver client reports automatically

When to Run This Workflow

  • On-demand: Via webhook from a dashboard button
  • Scheduled: Daily at 2 AM using n8n’s cron trigger
  • Event-driven: After new server deployment (via Scaleway webhook)

Next Steps: Extend Your Automation

After importing this workflow, consider:

  1. Adding a code node to filter servers by tag or status
  2. Exporting to CSV using the set node and Google Sheets integration
  3. Triggering reboots via PATCH request if server status is stopped