AutomationFlowsWeb Scraping › Sanmar Promostandards Sync (limit 50)

Sanmar Promostandards Sync (limit 50)

SanMar PromoStandards Sync (Limit 50). Uses httpRequest. Event-driven trigger; 9 nodes.

Event trigger★★★★☆ complexity9 nodesHTTP Request
Web Scraping Trigger: Event 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
{
  "id": "sanmar-soap-pull-limit-50",
  "name": "SanMar PromoStandards Sync (Limit 50)",
  "nodes": [
    {
      "parameters": {},
      "id": "trigger",
      "name": "When clicking 'Execute workflow'",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        240,
        200
      ]
    },
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "0 3 * * *"
            }
          ]
        }
      },
      "id": "schedule-trigger",
      "name": "Schedule Trigger (3am Daily)",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.1,
      "position": [
        240,
        400
      ]
    },
    {
      "parameters": {
        "url": "={{ $env.API_BASE_URL }}/api/suppliers",
        "options": {},
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Ingest-Secret",
              "value": "={{ $env.INGEST_SHARED_SECRET }}"
            }
          ]
        }
      },
      "id": "get-suppliers",
      "name": "Get Suppliers",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        460,
        300
      ]
    },
    {
      "parameters": {
        "jsCode": "const list = $input.all().flatMap((i) => {\n  const j = i.json;\n  return Array.isArray(j) ? j : (j.data ? j.data : [j]);\n});\nconst sanmar = list.find(s => s && s.slug === 'sanmar');\nif (!sanmar) throw new Error('SanMar supplier not found');\nreturn [{ json: { sid: sanmar.id, name: sanmar.name } }];"
      },
      "id": "resolve-sid",
      "name": "Resolve SanMar SID",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        680,
        300
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "={{ $env.API_BASE_URL }}/api/sync/{{ $json.sid }}/products",
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "limit",
              "value": "50"
            }
          ]
        },
        "options": {},
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Ingest-Secret",
              "value": "={{ $env.INGEST_SHARED_SECRET }}"
            }
          ]
        }
      },
      "id": "trigger-sync",
      "name": "Trigger Sync",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        900,
        300
      ]
    },
    {
      "parameters": {
        "amount": 10,
        "unit": "seconds"
      },
      "id": "wait",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1,
      "position": [
        1120,
        300
      ]
    },
    {
      "parameters": {
        "url": "={{ $env.API_BASE_URL }}/api/sync/{{ $('Resolve SanMar SID').item.json.sid }}/status",
        "options": {},
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Ingest-Secret",
              "value": "={{ $env.INGEST_SHARED_SECRET }}"
            }
          ]
        }
      },
      "id": "poll-status",
      "name": "Poll Status",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        1340,
        300
      ]
    },
    {
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{ $json.status }}",
              "value2": "completed"
            }
          ]
        }
      },
      "id": "check-done",
      "name": "Is Done?",
      "type": "n8n-nodes-base.if",
      "typeVersion": 1,
      "position": [
        1560,
        300
      ]
    },
    {
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{ $json.status }}",
              "value2": "failed"
            }
          ]
        }
      },
      "id": "check-failed",
      "name": "Is Failed?",
      "type": "n8n-nodes-base.if",
      "typeVersion": 1,
      "position": [
        1560,
        500
      ]
    }
  ],
  "connections": {
    "When clicking 'Execute workflow'": {
      "main": [
        [
          {
            "node": "Get Suppliers",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger (3am Daily)": {
      "main": [
        [
          {
            "node": "Get Suppliers",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Suppliers": {
      "main": [
        [
          {
            "node": "Resolve SanMar SID",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Resolve SanMar SID": {
      "main": [
        [
          {
            "node": "Trigger Sync",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Trigger Sync": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait": {
      "main": [
        [
          {
            "node": "Poll Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Poll Status": {
      "main": [
        [
          {
            "node": "Is Done?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Done?": {
      "main": [
        [],
        [
          {
            "node": "Is Failed?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Failed?": {
      "main": [
        [],
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {}
}
Pro

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

About this workflow

SanMar PromoStandards Sync (Limit 50). Uses httpRequest. Event-driven trigger; 9 nodes.

Source: https://github.com/VisualGraphxLLC/API-HUB/blob/1f57dde5ed69310f7fe40957ef8349c25dbcca87/n8n-workflows/sanmar-soap-pull.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

This workflow listens for an “Approved” label on a Trello card, reads the AI draft bookkeeping JSON from card comments, and posts the corresponding transaction to Xero. It then adds a Xero deep link b

Trello Trigger, HTTP Request
Web Scraping

02_LLM_Pipeline v1.0. Uses executeWorkflowTrigger, httpRequest, seaTable. Event-driven trigger; 65 nodes.

Execute Workflow Trigger, HTTP Request, Sea Table
Web Scraping

This workflow allows you to import any workflow from a file or another n8n instance and map the credentials easily. A multi-form setup guides you through the entire process At the beginning you have t

Execute Command, Read Write File, HTTP Request +3
Web Scraping

[n8n] Advanced URL Parsing and Shortening Workflow - Switchy.io Integration. Uses splitInBatches, stickyNote, httpRequest, html. Event-driven trigger; 56 nodes.

HTTP Request, GitHub, Stop And Error +1
Web Scraping

[](https://youtu.be/c7yCZhmMjtI)

HTTP Request, GitHub, Stop And Error +1