Skip to main content
Glama

kadi_bence/workday-jobs-scraper

kadi_bence--workday-jobs-scraper
Destructive

This tool calls the Actor "kadi_bence/workday-jobs-scraper" and retrieves its output results. Actor description: Get open jobs of any company by name: NVIDIA, Salesforce, Intel (Workday) and Stripe, Ramp (Greenhouse, Lever, Ashby, Workable, Personio) in one run, system auto-detected. Filters: title, country, date. Returns per job: title, team, location, salary, date, URL. Default: 20/company. $0.90/1K.

Input Schema

NameRequiredDescriptionDefault
waitSecsNoMax seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget.
companiesNoEasiest option: type company names or domains, one per line, e.g. NVIDIA, Salesforce, intel.com. The Actor finds their Workday career site(s) automatically; the RUN_SUMMARY record lists the boards it found. A domain is more precise than a common word (target.com instead of Target). Companies not on Workday (e.g. Stripe) are looked up on Greenhouse, Lever, Ashby, Workable, Recruitee and Personio automatically. If a company is still not found, paste its career site URL below. Example values: ["NVIDIA"]
countriesNoKeep only jobs in these countries: names or ISO codes, e.g. US, Germany, GB. Jobs with several locations are kept if ANY location matches. Uses the career site's own country filter when it has one (faster). Other words (e.g. California) are matched as location text. Filtered-out jobs are not charged.
startUrlsNoOr paste Workday career site URLs, e.g. https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite. A URL with filters applied on the career site (location, category, search) keeps those filters. Single job URLs work too (the whole board is scraped).
careerSitesNoLarge companies often run several Workday boards (main, students, subsidiaries). 'All' scrapes every public board; 'Main only' picks the primary external board. Example values: "all"all
monitorNameNoUse different names to keep separate 'already seen' lists for different schedules with the same URLs. Example values: "default"default
onlyNewJobsNoRemember which jobs were already returned and output only NEW postings on the next runs. Ideal for scheduled runs (daily alerts). The first run outputs everything and stores a baseline. You only pay for new jobs.
titleExcludesNoDrop jobs whose title contains ANY of these words, e.g. intern, senior, manager. Not case-sensitive ('intern' also drops 'International'; use 'internship' to be precise). Filtered-out jobs are not charged.
titleIncludesNoKeep only jobs whose title contains ANY of these words, e.g. engineer, data scientist. Not case-sensitive. Leave empty for all titles. Filtered-out jobs are not saved and not charged.
includeDetailsNoFetch each job's detail page: description, exact posted date, all locations, country, salary. Turn off for a faster, cheaper title/location-only list. Example values: true
maxConcurrencyNoParallel requests to the career site. Keep it low to be polite; 4 is fast enough for most boards. Example values: 4
maxJobsPerSiteNoStop after this many jobs per career site. 0 = no limit (all jobs, even boards with 10,000+ postings). The Console prefill is 50 for a quick test run. The default without input (API, MCP and AI-agent calls) is 20. Example values: 50
searchKeywordsNoOptional full-text search, exactly like the search box on the career site (e.g. "data engineer"). Leave empty for all jobs.
postedWithinDaysNoOnly return jobs posted in the last N days (e.g. 7). Leave empty for any date.
stripContactInfoNoRecommended (GDPR). Some postings include a recruiter's personal contact details; this removes them. Example values: true
descriptionFormatNoHow to output the job description. Example values: "text"text
proxyConfigurationNoUsually not needed: Workday career sites are public. Enable Apify Proxy only if you see many 403/429 errors. Example values: {"useApifyProxy":false}
otherSystemsFallbackNoWhen a company name has no Workday career site, look for its Greenhouse, Lever, Ashby, Workable, Recruitee or Personio job board instead (e.g. Stripe, Ramp, Hugging Face), so one run covers big employers and startups. Same output fields; the 'ats' field shows the source. Example values: true

Output Schema

NameRequiredDescriptionDefault
tipNoAdvisory guidance RAG Web Browser wrote to its key-value store under the reserved "TIP" key
runIdYesActor run ID
statsNoRun statistics
statusYesRun status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED
actorIdYesStable Apify Actor ID from the run record
summaryYesPast-tense summary of the run state
exitCodeNoActor process exit code; populated for terminal states (especially FAILED)
nextStepYesOne primary follow-up action with identifiers interpolated
storagesYesDataset and key-value store metadata, keyed by alias. "default" is always the primary entry.
actorNameNo"username/actor-name"
startedAtNoISO timestamp when the run started
finishedAtNoISO timestamp when the run finished (terminal states only)
statusMessageNoPass-through from Apify run.statusMessage
apifyConsoleUrlNoPersonalized Apify Console link to the run; present only for Console sessions

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / tip / properties / caveat
      Added value: +{
      +  "description": "Present when this session cannot run the Actor the tip recommends",
      +  "type": "string"
      +}
    • changedOutput schema / properties / tip / properties / recommendedActorId / description
      Previous value: -"Apify Actor ID the tip recommends running next, when it names one — pass directly as `actor` to call-actor or fetch-actor-details"New value: +"Apify Actor ID the tip recommends, when it names one"
  2. Changed1 schema field changed
    • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Added value: +{
      +  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      +  "properties": {
      +    "ats": {
      +      "type": "string"
      +    },
      +    "boardUrl": {
      +      "type": "string"
      +    },
      +    "canApply": {
      +      "type": "boolean"
      +    },
      +    "careerSite": {
      +      "type": "string"
      +    },
      +    "company": {
      +      "type": "string"
      +    },
      +    "country": {
      +      "type": "string"
      +    },
      +    "countryCode": {
      +      "type": "string"
      +    },
      +    "department": {
      +      "type": "null"
      +    },
      +    "description": {
      +      "type": "string"
      +    },
      +    "descriptionHtml": {
      +      "type": "null"
      +    },
      +    "firstPostedDate": {
      +      "type": "string"
      +    },
      +    "hiringOrganization": {
      +      "type": "string"
      +    },
      +    "jobId": {
      +      "type": "string"
      +    },
      +    "location": {
      +      "type": "string"
      +    },
      +    "locations": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "postedDate": {
      +      "type": "string"
      +    },
      +    "postedOnText": {
      +      "type": "string"
      +    },
      +    "remoteType": {
      +      "type": "null"
      +    },
      +    "salaryCurrency": {
      +      "type": [
      +        "null",
      +        "string"
      +      ]
      +    },
      +    "salaryMax": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "salaryMin": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "salaryPeriod": {
      +      "type": [
      +        "null",
      +        "string"
      +      ]
      +    },
      +    "salaryText": {
      +      "type": [
      +        "null",
      +        "string"
      +      ]
      +    },
      +    "scrapedAt": {
      +      "type": "string"
      +    },
      +    "team": {
      +      "type": "null"
      +    },
      +    "tenant": {
      +      "type": "string"
      +    },
      +    "timeType": {
      +      "type": "string"
      +    },
      +    "title": {
      +      "type": "string"
      +    },
      +    "url": {
      +      "type": "string"
      +    },
      +    "workMode": {
      +      "type": [
      +        "null",
      +        "string"
      +      ]
      +    },
      +    "workdayJobId": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  3. Changed1 schema field changed
    • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Removed value: -{
      -  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      -  "properties": {
      -    "ats": {
      -      "type": "string"
      -    },
      -    "boardUrl": {
      -      "type": "string"
      -    },
      -    "canApply": {
      -      "type": "boolean"
      -    },
      -    "careerSite": {
      -      "type": "string"
      -    },
      -    "company": {
      -      "type": "string"
      -    },
      -    "country": {
      -      "type": "string"
      -    },
      -    "countryCode": {
      -      "type": "string"
      -    },
      -    "department": {
      -      "type": "null"
      -    },
      -    "description": {
      -      "type": "string"
      -    },
      -    "descriptionHtml": {
      -      "type": "null"
      -    },
      -    "firstPostedDate": {
      -      "type": "string"
      -    },
      -    "hiringOrganization": {
      -      "type": "string"
      -    },
      -    "jobId": {
      -      "type": "string"
      -    },
      -    "location": {
      -      "type": "string"
      -    },
      -    "locations": {
      -      "items": {
      -        "type": "string"
      -      },
      -      "type": "array"
      -    },
      -    "postedDate": {
      -      "type": "string"
      -    },
      -    "postedOnText": {
      -      "type": "string"
      -    },
      -    "remoteType": {
      -      "type": "null"
      -    },
      -    "salaryCurrency": {
      -      "type": [
      -        "null",
      -        "string"
      -      ]
      -    },
      -    "salaryMax": {
      -      "type": [
      -        "null",
      -        "number"
      -      ]
      -    },
      -    "salaryMin": {
      -      "type": [
      -        "null",
      -        "number"
      -      ]
      -    },
      -    "salaryPeriod": {
      -      "type": [
      -        "null",
      -        "string"
      -      ]
      -    },
      -    "salaryText": {
      -      "type": [
      -        "null",
      -        "string"
      -      ]
      -    },
      -    "scrapedAt": {
      -      "type": "string"
      -    },
      -    "team": {
      -      "type": "null"
      -    },
      -    "tenant": {
      -      "type": "string"
      -    },
      -    "timeType": {
      -      "type": "string"
      -    },
      -    "title": {
      -      "type": "string"
      -    },
      -    "url": {
      -      "type": "string"
      -    },
      -    "workMode": {
      -      "type": [
      -        "null",
      -        "string"
      -      ]
      -    },
      -    "workdayJobId": {
      -      "type": "string"
      -    }
      -  },
      -  "type": "object"
      -}
  4. Changed1 schema field changed
    • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Added value: +{
      +  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      +  "properties": {
      +    "ats": {
      +      "type": "string"
      +    },
      +    "boardUrl": {
      +      "type": "string"
      +    },
      +    "canApply": {
      +      "type": "boolean"
      +    },
      +    "careerSite": {
      +      "type": "string"
      +    },
      +    "company": {
      +      "type": "string"
      +    },
      +    "country": {
      +      "type": "string"
      +    },
      +    "countryCode": {
      +      "type": "string"
      +    },
      +    "department": {
      +      "type": "null"
      +    },
      +    "description": {
      +      "type": "string"
      +    },
      +    "descriptionHtml": {
      +      "type": "null"
      +    },
      +    "firstPostedDate": {
      +      "type": "string"
      +    },
      +    "hiringOrganization": {
      +      "type": "string"
      +    },
      +    "jobId": {
      +      "type": "string"
      +    },
      +    "location": {
      +      "type": "string"
      +    },
      +    "locations": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "postedDate": {
      +      "type": "string"
      +    },
      +    "postedOnText": {
      +      "type": "string"
      +    },
      +    "remoteType": {
      +      "type": "null"
      +    },
      +    "salaryCurrency": {
      +      "type": [
      +        "null",
      +        "string"
      +      ]
      +    },
      +    "salaryMax": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "salaryMin": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "salaryPeriod": {
      +      "type": [
      +        "null",
      +        "string"
      +      ]
      +    },
      +    "salaryText": {
      +      "type": [
      +        "null",
      +        "string"
      +      ]
      +    },
      +    "scrapedAt": {
      +      "type": "string"
      +    },
      +    "team": {
      +      "type": "null"
      +    },
      +    "tenant": {
      +      "type": "string"
      +    },
      +    "timeType": {
      +      "type": "string"
      +    },
      +    "title": {
      +      "type": "string"
      +    },
      +    "url": {
      +      "type": "string"
      +    },
      +    "workMode": {
      +      "type": [
      +        "null",
      +        "string"
      +      ]
      +    },
      +    "workdayJobId": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  5. Changed1 schema field changed
    • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Removed value: -{
      -  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      -  "properties": {
      -    "ats": {
      -      "type": "string"
      -    },
      -    "boardUrl": {
      -      "type": "string"
      -    },
      -    "canApply": {
      -      "type": "boolean"
      -    },
      -    "careerSite": {
      -      "type": "string"
      -    },
      -    "company": {
      -      "type": "string"
      -    },
      -    "country": {
      -      "type": "string"
      -    },
      -    "countryCode": {
      -      "type": "string"
      -    },
      -    "department": {
      -      "type": "null"
      -    },
      -    "description": {
      -      "type": "string"
      -    },
      -    "descriptionHtml": {
      -      "type": "null"
      -    },
      -    "firstPostedDate": {
      -      "type": "string"
      -    },
      -    "hiringOrganization": {
      -      "type": "string"
      -    },
      -    "jobId": {
      -      "type": "string"
      -    },
      -    "location": {
      -      "type": "string"
      -    },
      -    "locations": {
      -      "items": {
      -        "type": "string"
      -      },
      -      "type": "array"
      -    },
      -    "postedDate": {
      -      "type": "string"
      -    },
      -    "postedOnText": {
      -      "type": "string"
      -    },
      -    "remoteType": {
      -      "type": "null"
      -    },
      -    "salaryCurrency": {
      -      "type": [
      -        "null",
      -        "string"
      -      ]
      -    },
      -    "salaryMax": {
      -      "type": [
      -        "null",
      -        "number"
      -      ]
      -    },
      -    "salaryMin": {
      -      "type": [
      -        "null",
      -        "number"
      -      ]
      -    },
      -    "salaryPeriod": {
      -      "type": [
      -        "null",
      -        "string"
      -      ]
      -    },
      -    "salaryText": {
      -      "type": [
      -        "null",
      -        "string"
      -      ]
      -    },
      -    "scrapedAt": {
      -      "type": "string"
      -    },
      -    "team": {
      -      "type": "null"
      -    },
      -    "tenant": {
      -      "type": "string"
      -    },
      -    "timeType": {
      -      "type": "string"
      -    },
      -    "title": {
      -      "type": "string"
      -    },
      -    "url": {
      -      "type": "string"
      -    },
      -    "workMode": {
      -      "type": [
      -        "null",
      -        "string"
      -      ]
      -    },
      -    "workdayJobId": {
      -      "type": "string"
      -    }
      -  },
      -  "type": "object"
      -}
  6. Changed1 schema field changed
    • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Added value: +{
      +  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      +  "properties": {
      +    "ats": {
      +      "type": "string"
      +    },
      +    "boardUrl": {
      +      "type": "string"
      +    },
      +    "canApply": {
      +      "type": "boolean"
      +    },
      +    "careerSite": {
      +      "type": "string"
      +    },
      +    "company": {
      +      "type": "string"
      +    },
      +    "country": {
      +      "type": "string"
      +    },
      +    "countryCode": {
      +      "type": "string"
      +    },
      +    "department": {
      +      "type": "null"
      +    },
      +    "description": {
      +      "type": "string"
      +    },
      +    "descriptionHtml": {
      +      "type": "null"
      +    },
      +    "firstPostedDate": {
      +      "type": "string"
      +    },
      +    "hiringOrganization": {
      +      "type": "string"
      +    },
      +    "jobId": {
      +      "type": "string"
      +    },
      +    "location": {
      +      "type": "string"
      +    },
      +    "locations": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "postedDate": {
      +      "type": "string"
      +    },
      +    "postedOnText": {
      +      "type": "string"
      +    },
      +    "remoteType": {
      +      "type": "null"
      +    },
      +    "salaryCurrency": {
      +      "type": [
      +        "null",
      +        "string"
      +      ]
      +    },
      +    "salaryMax": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "salaryMin": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "salaryPeriod": {
      +      "type": [
      +        "null",
      +        "string"
      +      ]
      +    },
      +    "salaryText": {
      +      "type": [
      +        "null",
      +        "string"
      +      ]
      +    },
      +    "scrapedAt": {
      +      "type": "string"
      +    },
      +    "team": {
      +      "type": "null"
      +    },
      +    "tenant": {
      +      "type": "string"
      +    },
      +    "timeType": {
      +      "type": "string"
      +    },
      +    "title": {
      +      "type": "string"
      +    },
      +    "url": {
      +      "type": "string"
      +    },
      +    "workMode": {
      +      "type": [
      +        "null",
      +        "string"
      +      ]
      +    },
      +    "workdayJobId": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  7. Changed1 schema field changed
    • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Removed value: -{
      -  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      -  "properties": {
      -    "boardUrl": {
      -      "type": "string"
      -    },
      -    "canApply": {
      -      "type": "boolean"
      -    },
      -    "careerSite": {
      -      "type": "string"
      -    },
      -    "company": {
      -      "type": "string"
      -    },
      -    "country": {
      -      "type": "string"
      -    },
      -    "countryCode": {
      -      "type": "string"
      -    },
      -    "description": {
      -      "type": "string"
      -    },
      -    "descriptionHtml": {
      -      "type": "null"
      -    },
      -    "firstPostedDate": {
      -      "type": "string"
      -    },
      -    "hiringOrganization": {
      -      "type": "string"
      -    },
      -    "jobId": {
      -      "type": "string"
      -    },
      -    "location": {
      -      "type": "string"
      -    },
      -    "locations": {
      -      "items": {
      -        "type": "string"
      -      },
      -      "type": "array"
      -    },
      -    "postedDate": {
      -      "type": "string"
      -    },
      -    "postedOnText": {
      -      "type": "string"
      -    },
      -    "remoteType": {
      -      "type": "null"
      -    },
      -    "salaryCurrency": {
      -      "type": [
      -        "null",
      -        "string"
      -      ]
      -    },
      -    "salaryMax": {
      -      "type": [
      -        "null",
      -        "number"
      -      ]
      -    },
      -    "salaryMin": {
      -      "type": [
      -        "null",
      -        "number"
      -      ]
      -    },
      -    "salaryPeriod": {
      -      "type": [
      -        "null",
      -        "string"
      -      ]
      -    },
      -    "salaryText": {
      -      "type": [
      -        "null",
      -        "string"
      -      ]
      -    },
      -    "scrapedAt": {
      -      "type": "string"
      -    },
      -    "tenant": {
      -      "type": "string"
      -    },
      -    "timeType": {
      -      "type": "string"
      -    },
      -    "title": {
      -      "type": "string"
      -    },
      -    "url": {
      -      "type": "string"
      -    },
      -    "workMode": {
      -      "type": [
      -        "null",
      -        "string"
      -      ]
      -    },
      -    "workdayJobId": {
      -      "type": "string"
      -    }
      -  },
      -  "type": "object"
      -}
  8. Changed3 schema fields changed
    • changedInput schema / properties / companies / description
      Previous value: -"Easiest option: type company names or domains, one per line, e.g. NVIDIA, Salesforce, intel.com. The Actor finds their Workday career site(s) automatically; the RUN_SUMMARY record lists the boards it found. A domain is more precise than a common word (target.com instead of Target). If a company is not found, it may use another applicant system, or you can paste its career site URL below.\nExample values: [\"NVIDIA\"]"New value: +"Easiest option: type company names or domains, one per line, e.g. NVIDIA, Salesforce, intel.com. The Actor finds their Workday career site(s) automatically; the RUN_SUMMARY record lists the boards it found. A domain is more precise than a common word (target.com instead of Target). Companies not on Workday (e.g. Stripe) are looked up on Greenhouse, Lever, Ashby, Workable, Recruitee and Personio automatically. If a company is still not found, paste its career site URL below.\nExample values: [\"NVIDIA\"]"
    • changedInput schema / properties / companies / items / description
      Previous value: -"Easiest option: type company names or domains, one per line, e.g. NVIDIA, Salesforce, intel.com. The Actor finds their Workday career site(s) automatically; the RUN_SUMMARY record lists the boards it found. A domain is more precise than a common word (target.com instead of Target). If a company is not found, it may use another applicant system, or you can paste its career site URL below."New value: +"Easiest option: type company names or domains, one per line, e.g. NVIDIA, Salesforce, intel.com. The Actor finds their Workday career site(s) automatically; the RUN_SUMMARY record lists the boards it found. A domain is more precise than a common word (target.com instead of Target). Companies not on Workday (e.g. Stripe) are looked up on Greenhouse, Lever, Ashby, Workable, Recruitee and Personio automatically. If a company is still not found, paste its career site URL below."
    • addedInput schema / properties / otherSystemsFallback
      Added value: +{
      +  "default": true,
      +  "description": "When a company name has no Workday career site, look for its Greenhouse, Lever, Ashby, Workable, Recruitee or Personio job board instead (e.g. Stripe, Ramp, Hugging Face), so one run covers big employers and startups. Same output fields; the 'ats' field shows the source.\nExample values: true",
      +  "examples": [
      +    true
      +  ],
      +  "title": "Also find companies that are not on Workday",
      +  "type": "boolean"
      +}
  9. First observed

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=true and openWorldHint=true, so the agent knows this triggers an open-world, potentially costly operation. The description adds genuinely useful non-annotation context: the cost model ('$0.90/1K'), the default volume (20/company), and that the tool invokes an Actor and retrieves its results. It does not, however, explain run lifecycle, the waitSecs/nextStep polling contract, or what 'destructive' actually means here, so it remains partial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the mechanism ('calls the Actor ... retrieves its output results') followed by the dense capability summary. The wrapper boilerplate is slightly redundant, but the size is proportionate to an 18-parameter tool and every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value explanation is optional, yet the description still lists the key per-job fields. With all 18 parameters fully documented in the schema and the actor's scope, ATS coverage, defaults and pricing stated, an agent has enough to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% across all 18 parameters, so the schema already documents every field in depth. The description only gestures at a subset (title/country/date filters), adding no syntax, format, or interaction detail beyond the schema. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: retrieve open jobs for named companies across Workday and other ATS platforms, with concrete filters (title, country, date) and return fields. It is unambiguous about what the tool does, but it never distinguishes itself from the very similar sibling kadi_bence--ats-jobs-scraper, leaving the agent to guess which job scraper to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The use case is clearly implied ('get open jobs of any company by name'), and the auto-detection behavior plus fallback to Greenhouse/Lever/etc. is noted. However, there is no explicit when-to-use/when-not guidance and no mention of the closely related ats-jobs-scraper sibling, so routing between the two job tools is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.