n8n-nodes-workday-jobs-api
v0.1.1
Published
Get every job posting from any Workday careers site: titles, locations, posted dates, pay ranges, and apply URLs as structured items. Apify-backed n8n community node, pay-per-result, and usable as an AI agent tool.
Maintainers
Readme
n8n-nodes-workday-jobs-api
An n8n community node that gets every job posting from any Workday careers site and returns them as clean, structured items: title, company, locations, posted date, pay range, and apply links. It is backed by the Workday Careers API on Apify and bills per job returned, so there are no subscriptions and no minimums.
Installation · Credentials · Operations · Output · Example workflows · Pricing · Resources
What it does
Give the node one or more Workday careers site URLs, like https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite, and it returns one item per live job with the title, company, all locations, exact ISO posted date, employment type, remote status, extracted pay range, description, and direct apply link. Thousands of Fortune 500 employers hire through the Workday ATS, and this node reads the same public data feed each careers page uses. It works as an AI Agent tool, so an agent can pull a company's openings on demand.
- Get every live job from any
myworkdayjobs.comormyworkdaysite.comcareers site - Optional keyword search, same behavior as the site's own search box
- Numeric pay-range fields parsed from US pay-transparency postings
- Fast list-only mode for cheap, high-frequency monitoring
- Bound cost with Max Jobs per Site; set 0 to fetch the whole site
- Choose how much data to return per job: Simplified, Raw, or Selected Fields
Installation
Follow the n8n community nodes installation guide:
- In n8n, open Settings > Community Nodes.
- Select Install.
- Enter
n8n-nodes-workday-jobs-apias the npm package name. - Agree to the risks of using community nodes, then select Install.
After it installs, the Workday Jobs node appears in the nodes panel.
n8n Cloud only allows verified community nodes. Until this node is verified, install it on a self-hosted n8n instance.
Credentials
You need a free Apify account and an API token.
- Sign in to the Apify Console.
- Open Settings > Integrations and copy your Personal API token.
- In n8n, create a new Apify API credential and paste the token.
- Use the credential's Test button to confirm it works.
The node also supports Apify OAuth2 if you prefer to connect that way.
Operations
Job > Get returns every live job from the careers sites you list, optionally filtered by keyword or posted date.
| Parameter | Description |
| --- | --- |
| Careers Site URLs | One or more Workday careers URLs. Both myworkdayjobs.com and myworkdaysite.com forms work. |
| Search Keywords | Optional keyword query, same behavior as the search box on the careers page. |
| Max Jobs per Site | Maximum jobs per site. Bounds cost. Set to 0 to fetch every job. |
| Fetch Full Details | On (default): full description, ISO dates, pay range, apply URL. Off: fast list-only mode, one request per 20 jobs. |
| Description Format | Text Only (default), HTML Only, or Both. |
| Posted After | Optional ISO date filter, for example 2026-07-01. Needs Fetch Full Details. |
| Output | How much data to return: Simplified, Raw, or Selected Fields. |
Output
Each job is returned as its own n8n item. The API returns more than thirty fields per job, so the Output parameter lets you choose how much to return:
- Simplified (default): a compact object with
resultType,title,company,locationsText,timeType,remoteType,salaryText,salaryMin,salaryMax,salaryCurrency,postedDate,jobReqId,url, andapplyUrl. This mode is also used automatically when the node runs as an AI Agent tool, to keep responses small. - Raw: every field the API returns for each job, using the original field names below.
- Selected Fields: pick exactly which fields to include.
Fields (Raw and Selected Fields)
| Field | Type | Description |
| --- | --- | --- |
| resultType | string | Either job (a collected job) or error (a failed start URL) |
| title | string | The job title |
| company | string | The hiring organization's name |
| tenant | string | The Workday tenant parsed from the careers URL |
| siteId | string | The career-site slug within the tenant |
| sourceUrl | string | The start URL this row came from |
| url | string | Public job posting page URL |
| applyUrl | string | Direct application URL |
| jobReqId | string | The employer's requisition ID, stable across runs |
| jobPostingId | string | The posting's slug identifier (detail mode) |
| workdayInternalId | string | Internal GUID for the posting (detail mode) |
| externalPath | string | The posting's path fragment on the careers site |
| locationsText | string | Location summary as shown on the job card |
| primaryLocation | string | The posting's primary location (detail mode) |
| additionalLocations | array | Every additional location on multi-location postings |
| country | string | Country of the primary location (detail mode) |
| countryCode | string | ISO alpha-2 country code (detail mode) |
| postedOn | string | Relative posted date as shown on the site |
| postedDate | string | Exact ISO posting date (detail mode) |
| endDate | string | ISO date applications close, when set (detail mode) |
| timeLeftToApply | string | Human-readable time remaining, when set (detail mode) |
| timeType | string | Full Time, Part Time, and so on (detail mode) |
| remoteType | string | Remote, Flex, or Onsite, when the site exposes it |
| canApply | boolean | Whether the posting currently accepts applications |
| descriptionHtml | string | Full description as rich HTML |
| descriptionText | string | Full description as clean plain text |
| salaryText | string | Extracted pay-range snippet, when published |
| salaryMin | number | Lower bound of the pay range, when published |
| salaryMax | number | Upper bound of the pay range, when published |
| salaryCurrency | string | Currency of the pay range, when published |
| scrapedAt | string | UTC timestamp of the run |
| totalJobsOnSite | integer | Total jobs the site reported at run time |
| errorMessage | string | Human-readable reason, only on rows with resultType of error |
Example workflows
1. Watch a company for new openings
- Schedule Trigger (once a day).
- Workday Jobs: your target careers URL, Fetch Full Details off, Max Jobs per Site
0. - Compare Datasets (or a Code node): diff on
jobReqIdagainst yesterday's run. - Slack / Email: notify with
titleandurlfor each new requisition.
2. Build a salary dataset
- Manual Trigger.
- Workday Jobs: a US employer's careers URL, Output
Selected Fieldswithtitle,locationsText,salaryMin,salaryMax, andurl. - Filter: keep rows where
salaryMinis set. - Google Sheets / Airtable: append the rows.
3. Let an AI Agent pull openings
- AI Agent node.
- Attach Workday Jobs as a tool.
- Ask "What engineering roles is NVIDIA hiring for right now?" The agent calls the node (in Simplified mode) with the careers URL and returns the matching jobs.
Pricing
This node calls the Workday Careers API on Apify, which is billed pay-per-result (a small fee per job returned), with no subscription and no minimums. Apify also includes a free monthly usage tier that covers typical volumes. See the Actor page for current rates.
Resources
- Workday Careers API on Apify
- Python and MCP quick-start examples
- npm package
- n8n community nodes documentation
- Apify n8n integration guide
