{
  "title": "Workday jobs with real locations — settings",
  "type": "object",
  "schemaVersion": 1,
  "properties": {
    "companies": {
      "title": "Employer Workday career-site URLs",
      "type": "array",
      "description": "One entry per employer. Paste the career-site URL exactly as it appears in the browser, e.g. https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite - the tenant, the wd number and the site name are all read out of it (a /en-US/ segment or a link to a single job is fine). A 'tenant|wdN|site' triple also works. Workday career sites only; an employer that publishes on another system is skipped with a warning.",
      "editor": "stringList",
      "default": [
        "https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite",
        "https://salesforce.wd12.myworkdayjobs.com/External_Career_Site"
      ],
      "prefill": [
        "https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite",
        "https://salesforce.wd12.myworkdayjobs.com/External_Career_Site"
      ],
      "sectionCaption": "Workday career-site URLs"
    },
    "searchText": {
      "title": "Workday job-search keyword",
      "type": "string",
      "description": "Keyword passed to Workday's own job search (it matches title and description). Leave empty for the whole board.",
      "editor": "textfield",
      "default": "",
      "example": "engineer"
    },
    "maxResultsPerCompany": {
      "title": "Maximum postings per employer",
      "type": "integer",
      "description": "Cap on postings written for each employer. Workday serves 20 rows per request (its hard limit), so 40 means two list calls per company. Raise it for a full board - a 1,000-posting board is 50 list calls plus one detail call each, so raise 'Max run seconds' with it.",
      "editor": "number",
      "default": 40,
      "prefill": 40,
      "minimum": 1,
      "maximum": 5000
    },
    "fetchDetails": {
      "title": "Expand locations and fetch job details",
      "type": "boolean",
      "description": "Calls each posting's detail endpoint. This is what turns Workday's collapsed \"12 Locations\" label into a real list of twelve cities, and it also adds the posting date, time type, remote type and the description text (capped at 5,000 characters). Turn it off for a faster, shallower run.",
      "editor": "checkbox",
      "default": true
    },
    "onlyNewSinceLastRun": {
      "title": "Save postings not previously recorded",
      "type": "boolean",
      "description": "Compares this run against the job ids stored by the previous run in a named key-value store and writes only postings that were not there. The FIRST run has no baseline, so it returns everything and saves it - from the second run on you get just the new openings. An empty dataset then means nothing new was posted.",
      "editor": "checkbox",
      "default": false,
      "sectionCaption": "Saved-job history"
    },
    "stateStoreName": {
      "title": "Saved-job history store",
      "type": "string",
      "description": "Name of the named key-value store that holds the seen-job-id baseline. Only used when 'Only postings new since the last run' is on. Give each scheduled job its own name if you track different company lists separately.",
      "editor": "textfield",
      "default": "workday-jobs-scraper-state",
      "sectionCaption": "Advanced"
    },
    "maxRunSeconds": {
      "title": "Run time budget (seconds)",
      "type": "integer",
      "description": "Wall-clock budget. The Actor stops cleanly at this point and keeps everything collected so far, instead of being killed mid-write. Raise it for large boards; the platform run timeout still applies on top.",
      "editor": "number",
      "default": 240,
      "minimum": 30,
      "maximum": 3600,
      "sectionCaption": "Run budget"
    }
  },
  "description": "For recruiters and hiring-market research, collect public Workday job postings with the advertised locations behind collapsed multi-location labels. Supported `myworkdayjobs.com` career sites only. Field availability and access depend on the employer's public site."
}
