AutomationFlowsWeb Scraping › Daily Only-new Remote Job Alerts with Apify

Daily Only-new Remote Job Alerts with Apify

Daily only-new remote job alerts with Apify. Uses httpRequest, emailSend. Scheduled trigger; 5 nodes.

Cron / scheduled trigger★★★★☆ complexity5 nodesHTTP RequestEmail Send
Web Scraping Trigger: Cron / scheduled Nodes: 5 Complexity: ★★★★☆ Added:

This workflow follows the Emailsend → HTTP Request 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 only-new remote job alerts with Apify",
  "nodes": [
    {
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -620,
        -260
      ],
      "parameters": {
        "content": "## Daily only-new remote Python jobs\n\nRuns [benthepythondev/remote-jobs-aggregator](https://apify.com/benthepythondev/remote-jobs-aggregator) across six boards, keeps monitor state in Apify, and emails only unseen matches.\n\n1. Create an n8n Header Auth credential: `Authorization: Bearer YOUR_APIFY_TOKEN`.\n2. Attach it to the Actor request node. Never paste the token into exported JSON.\n3. Set the recipient and mail credential on the Email node.\n4. Run once manually. `seedOnly` stores the current baseline without an alert.\n5. Activate the weekday schedule.\n\nChange `monitorId` when you want a separate saved search."
      }
    },
    {
      "name": "Weekday schedule",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        -340,
        40
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "weeks",
              "triggerAtDay": [
                1,
                2,
                3,
                4,
                5
              ],
              "triggerAtHour": 8
            }
          ]
        }
      }
    },
    {
      "name": "Run Remote Jobs Monitor",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        -80,
        40
      ],
      "parameters": {
        "method": "POST",
        "url": "https://api.apify.com/v2/actors/benthepythondev~remote-jobs-aggregator/run-sync-get-dataset-items",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "contentType": "raw",
        "rawContentType": "application/json",
        "body": "{\"searchKeywords\":\"python developer\",\"platforms\":[\"arbeitnow\",\"jobicy\",\"himalayas\",\"remoteok\",\"remotive\",\"workingnomads\"],\"excludeKeywords\":[\"unpaid\"],\"onlyNew\":true,\"monitorId\":\"weekday-python-jobs\",\"firstRunMode\":\"seedOnly\",\"maxJobsPerPlatform\":20,\"maxTotalJobs\":30,\"debugMode\":false}",
        "options": {
          "timeout": 300000
        }
      }
    },
    {
      "name": "Build job digest",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        180,
        40
      ],
      "parameters": {
        "jsCode": "const input = $input.all().map(item => item.json);\nconst rows = input.length === 1 && Array.isArray(input[0]) ? input[0] : input;\nconst jobs = rows.filter(job => job && job.is_new && (job.url || job.title));\nif (!jobs.length) return [];\nconst lines = jobs.slice(0, 30).map((job, index) => {\n  const title = job.title || 'Untitled role';\n  const company = job.company || 'Unknown company';\n  const location = job.location || 'Remote';\n  const source = job.platform || 'job board';\n  const seniority = job.seniority && job.seniority !== 'unspecified' ? ` | ${job.seniority}` : '';\n  return `${index + 1}. ${title} at ${company} | ${location} | ${source}${seniority}\\n${job.url || ''}`;\n});\nreturn [{ json: { count: jobs.length, subject: `Remote job alert: ${jobs.length} new roles`, digest: lines.join('\\n\\n') } }];"
      }
    },
    {
      "name": "Email job alert",
      "type": "n8n-nodes-base.emailSend",
      "typeVersion": 2.1,
      "position": [
        440,
        40
      ],
      "parameters": {
        "fromEmail": "alerts@example.com",
        "toEmail": "you@example.com",
        "subject": "={{ $json.subject }}",
        "emailFormat": "text",
        "text": "={{ $json.digest }}",
        "options": {}
      }
    }
  ],
  "connections": {
    "Weekday schedule": {
      "main": [
        [
          {
            "node": "Run Remote Jobs Monitor",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Run Remote Jobs Monitor": {
      "main": [
        [
          {
            "node": "Build job digest",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build job digest": {
      "main": [
        [
          {
            "node": "Email job alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "remote-jobs-only-new-email-v1",
  "meta": {
    "templateCredsSetupCompleted": false
  },
  "tags": []
}
Pro

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

About this workflow

Daily only-new remote job alerts with Apify. Uses httpRequest, emailSend. Scheduled trigger; 5 nodes.

Source: https://gist.github.com/benthepythondev00/af0b724d2fb2c2fb503d4d035ba5e949 — 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

Women creators, homemakers-turned-entrepreneurs, and feminine lifestyle brands who want a graceful, low-lift way to keep an eye on competitor content and spark weekly ideas.

HTTP Request, Google Sheets, Email Send +1
Web Scraping

Weekday ATS hiring signals with Apify. Uses httpRequest, emailSend. Scheduled trigger; 4 nodes.

HTTP Request, Email Send
Web Scraping

Daily remote job alerts with Apify. Uses httpRequest, emailSend. Scheduled trigger; 4 nodes.

HTTP Request, Email Send
Web Scraping

Google Maps contact enrichment with Apify. Uses httpRequest, emailSend. Scheduled trigger; 4 nodes.

HTTP Request, Email Send
Web Scraping

Daily Kleinanzeigen local-job alerts with Apify. Uses httpRequest, emailSend. Scheduled trigger; 4 nodes.

HTTP Request, Email Send