AutomationFlowsWeb Scraping › Intcloudsysops - Deal Status Update

Intcloudsysops - Deal Status Update

Intcloudsysops - Deal Status Update. Uses httpRequest. Scheduled trigger; 5 nodes.

Cron / scheduled trigger★★★★☆ complexity5 nodesHTTP Request
Web Scraping Trigger: Cron / scheduled Nodes: 5 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
{
  "id": "intcloudsysops-deal-status-update",
  "name": "Intcloudsysops - Deal Status Update",
  "active": true,
  "description": "Cron: daily digest of open deals (status tracking and stage transitions)",
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "type": "days",
              "value": 1
            }
          ]
        }
      },
      "id": "schedule-cron",
      "name": "Schedule Trigger (Daily 9:00 AM UTC)",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.1,
      "position": [
        0,
        0
      ]
    },
    {
      "parameters": {
        "method": "GET",
        "url": "={{ $env.SUPABASE_URL }}/rest/v1/intcloudsysops_deals?status=eq.open&order=updated_at.desc",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "apikey",
              "value": "={{ $env.SUPABASE_SERVICE_ROLE_KEY }}"
            },
            {
              "name": "Authorization",
              "value": "=Bearer {{ $env.SUPABASE_SERVICE_ROLE_KEY }}"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "id": "fetch-open-deals",
      "name": "Fetch Open Deals",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        260,
        0
      ]
    },
    {
      "parameters": {
        "jsCode": "const deals = $json.body ?? [];\nconst digest = {\n  tenant_slug: 'intcloudsysops',\n  timestamp: new Date().toISOString(),\n  deal_count: deals.length,\n  by_stage: {},\n  deals: deals.map(d => ({ id: d.id, name: d.name, account_id: d.account_id, stage: d.stage, value: d.value, owner_id: d.owner_id, close_date: d.close_date }))\n};\n\ndeals.forEach(d => {\n  if (!digest.by_stage[d.stage]) digest.by_stage[d.stage] = 0;\n  digest.by_stage[d.stage]++;\n});\n\nreturn [{ json: digest }];"
      },
      "id": "summarize-deals",
      "name": "Summarize Open Deals",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        520,
        0
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "={{ $env.SUPABASE_URL }}/rest/v1/intcloudsysops_deal_digests",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "apikey",
              "value": "={{ $env.SUPABASE_SERVICE_ROLE_KEY }}"
            },
            {
              "name": "Authorization",
              "value": "=Bearer {{ $env.SUPABASE_SERVICE_ROLE_KEY }}"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            },
            {
              "name": "Prefer",
              "value": "return=representation"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={{ JSON.stringify({ tenant_slug: $json.tenant_slug, digest_data: $json, generated_at: $json.timestamp }) }}"
      },
      "id": "store-digest",
      "name": "Store Deal Digest",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        780,
        0
      ]
    },
    {
      "parameters": {
        "jsCode": "// Log summary for monitoring\nconsole.log(`Daily deal digest: ${$json.deal_count} deals in ${Object.keys($json.by_stage).length} stages`);\nreturn [$json];"
      },
      "id": "log-completion",
      "name": "Log Completion",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1040,
        0
      ]
    }
  ],
  "connections": {
    "Schedule Trigger (Daily 9:00 AM UTC)": {
      "main": [
        [
          {
            "node": "Fetch Open Deals",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Open Deals": {
      "main": [
        [
          {
            "node": "Summarize Open Deals",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Summarize Open Deals": {
      "main": [
        [
          {
            "node": "Store Deal Digest",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Store Deal Digest": {
      "main": [
        [
          {
            "node": "Log Completion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "tags": [
    "crm",
    "intcloudsysops",
    "cron"
  ]
}
Pro

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

About this workflow

Intcloudsysops - Deal Status Update. Uses httpRequest. Scheduled trigger; 5 nodes.

Source: https://github.com/cloudsysops/opsly/blob/03a6b4f654d78d7396c5f639b4a541bbf024d92c/.n8n/1-workflows/intcloudsysops/deal-status-update.json — original creator credit. Request a take-down →

More Web Scraping workflows → · Browse all categories →

Related workflows

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

Web Scraping

Birthday Automation - Production (Fixed). Uses stopAndError, httpRequest, emailSend, bannerbear. Scheduled trigger; 86 nodes.

Stop And Error, HTTP Request, Email Send +1
Web Scraping

This template runs two scheduled workflows to govern Microsoft Entra ID (Azure AD) guest accounts by detecting stale users via Microsoft Graph, staging deletions in SharePoint with a 72-hour window, n

Microsoft SharePoint, Microsoft Teams, Microsoft Entra +1
Web Scraping

Jira-Allure-Auto-Qa. Uses httpRequest, jira. Scheduled trigger; 68 nodes.

HTTP Request, Jira
Web Scraping

Spotify-Sync-Surrealdb-V1. Uses httpRequest, n8n-nodes-surrealdb, spotify. Scheduled trigger; 62 nodes.

HTTP Request, N8N Nodes Surrealdb, Spotify
Web Scraping

As n8n instances scale, teams often lose track of sub-workflows—who uses them, where they are referenced, and whether they can be safely updated. This leads to inefficiencies like unnecessary copies o

HTTP Request, n8n, N8N Trigger +1