{
  "name": "New Job Postings Watch",
  "description": "Be first to apply — get a push notification when new jobs appear on a careers page.",
  "tags": [
    "jobs",
    "careers",
    "monitoring",
    "push-notification",
    "alerts",
    "hiring"
  ],
  "type": "triggered",
  "nodes": [
    {
      "id": "sticky-intro",
      "position": {
        "x": 20,
        "y": 20
      },
      "data": {
        "color": "#fff266",
        "content": "💼 First to know about new roles.\n\nPoint this at the job list on a careers page (set the CSS selector and page URL below). When the list changes, you get a push notification on your phone via ntfy. Pick a private ntfy topic the first time."
      },
      "type": "stickyNote",
      "width": 340,
      "height": 180
    },
    {
      "id": "trigger-element-change",
      "position": {
        "x": 100,
        "y": 280
      },
      "data": {
        "instance": {
          "id": "af-base-node:trigger:elementChangeTrigger"
        },
        "label": "Watch the job list",
        "inputs": {
          "selector": ".jobs-list",
          "condition": "changed",
          "debounceMs": 500,
          "urlPatterns": [
            "<all_urls>"
          ]
        },
        "parameters": {
          "notes": "Fires when the job list changes on the page you're watching. Swap in the real job-list selector and set the page URL."
        }
      },
      "type": "trigger"
    },
    {
      "id": "send-push",
      "position": {
        "x": 420,
        "y": 280
      },
      "data": {
        "instance": {
          "id": "af-base-node:basic:pushNotification"
        },
        "label": "Send a push notification",
        "inputs": {
          "credential": "",
          "parameters": {
            "provider": "ntfy",
            "topic": "",
            "message": "New job postings on the page you're watching",
            "title": "New jobs",
            "priority": "high"
          }
        },
        "parameters": {
          "notes": "Sends a push alert via ntfy. The credential is optional for ntfy (only needed for protected topics); the topic is required."
        }
      },
      "type": "basic"
    },
    {
      "id": "sticky-push",
      "position": {
        "x": 420,
        "y": 460
      },
      "data": {
        "color": "#ffd9b3",
        "content": "Setup needed: pick a private ntfy topic to receive alerts (and connect a credential only if your topic is protected)."
      },
      "type": "stickyNote",
      "width": 300,
      "height": 110
    }
  ],
  "edges": [
    {
      "id": "e-trigger-push",
      "type": "flowEdge",
      "source": "trigger-element-change",
      "target": "send-push"
    }
  ]
}