You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds Workday as an ATS integration for Revert, covering the connection flow, tenant-aware API routing, unified ATS objects, client configuration, and regression coverage.
OAuth + refresh: Workday authorization-code exchange, connection persistence, and refresh-token flow using tenant-derived OAuth endpoints.
Tenant URL handling: resolves Recruiting, Staffing, token, and authorization URLs from the per-app Organisation URL with optional environment fallbacks.
ATS services: Candidate get/list/create/update; Job get/list/create/update; Offer get/list; Department get/list; and generic Workday proxy routing.
Normalization: candidate/name/email/phone shapes, requisition/status descriptors, offer references, and department parent descriptors.
Write mappings: Workday candidate/job disunification and standard ATS field mappings.
Security hardening: the Workday proxy rejects cross-origin targets and only allows the configured tenant's Recruiting/Staffing API prefixes before adding the bearer token. This blocks arbitrary hosts, OAuth endpoints, and other tenants on the same Workday origin.
Verification
Passed locally:
yarn workspace @revertdotdev/backend test helpers/ats/workday.test.ts --runInBand
Test Suites: 1 passed, 1 total
Tests: 16 passed, 16 total
PGSQL_URL=<local placeholder> yarn workspace @revertdotdev/backend exec prisma validate
The schema is valid
yarn exec prettier --check <changed TS/TSX files>
All matched files use Prettier code style!
git diff --check
# clean
yarn workspace @revertdotdev/backend exec prisma generate also completed successfully.
A final reconnect audit also verified that Workday app_config and tp_account_url are preserved across connection upserts so tenant routing and refresh-token flows remain intact after reconnect.
Repository-level blockers observed
Full backend typecheck requires the Fern-generated packages/backend/generated/typescript tree. Running yarn fern in this environment stops with Login required.
The JS SDK build stops in the existing @types/lodash declarations with TS1005 errors before reaching this change.
The client production build stops on existing unused botToken / setBotToken warnings in EditCredentials.tsx; those same lines are present on main.
Follow-up hardening pass pushed to the same PR. The Workday proxy now restricts bearer-authenticated requests to the configured tenant Recruiting/Staffing API prefixes, so same-origin OAuth endpoints or another tenant on the same Workday host cannot receive the token. Workday focused suite is now 16/16 PASS; Prettier and git diff --check pass.
Final audit found and fixed a reconnect persistence bug: the Prisma upsert extension was clearing Workday app_config and tp_account_url on updates, which could break tenant routing and token refresh after reconnect. Workday is now preserved by the same connection-update guard used for providers that require account config. Verification: Workday 16/16 PASS, Prisma schema valid, Prettier PASS, git diff --check PASS.
This branch has not been deployed
No deployments
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds Workday as an ATS integration for Revert, covering the connection flow, tenant-aware API routing, unified ATS objects, client configuration, and regression coverage.
Fixes #372
/claim #372
What changed
workdayPrisma enum + migration + seed support.Verification
Passed locally:
yarn workspace @revertdotdev/backend exec prisma generatealso completed successfully.A final reconnect audit also verified that Workday
app_configandtp_account_urlare preserved across connection upserts so tenant routing and refresh-token flows remain intact after reconnect.Repository-level blockers observed
packages/backend/generated/typescripttree. Runningyarn fernin this environment stops withLogin required.@types/lodashdeclarations with TS1005 errors before reaching this change.botToken/setBotTokenwarnings inEditCredentials.tsx; those same lines are present onmain.Demo video
workday-integration-demo.mp4