feat: add Workday ATS integration#658
Open
bisgeario wants to merge 5 commits into
Open
Conversation
|
Thank you for following the naming conventions for pull request titles! 🙏 |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Adds Workday as a new ATS integration following the same patterns established by the existing Greenhouse and Lever integrations.
What was missing: Workday was not supported as an ATS provider despite being a widely-used HR platform.
What changed:
workdayto the PrismaTP_IDenum inschema.prismaWORKDAY_CLIENT_ID,WORKDAY_CLIENT_SECRET,WORKDAY_TOKEN_URL,WORKDAY_API_BASE_URL) toconfig.tsand.env.exampleATS_TP_IDtype and added Workday toDEFAULT_SCOPEandmapIntegrationIdToIntegrationNameinconstants/common.tsWorkdayAuthHandlerinroutes/v1/ats/authHandlers/workday.tsimplementing OAuth2 token exchange (modeled after the Lever handler)case TP_ID.workdayin the ATS auth router/api/staffing/v6/REST API; delete endpoints return "not supported" consistent with Workday API constraintsprisma/fields.tscase TP_ID.workdaytodisunifyAtsObjectand the preprocess mapappsInfometadataWorkday uses tenant-specific base URLs, so
app_config.org_urlis used per-connection with a fallback to theWORKDAY_API_BASE_URLenv var. Pagination uses offset-based cursors derived from thetotalfield in responses.Testing
Ran
tsc -p tsconfig.json --noEmitinpackages/backend— only a pre-existing deprecation warning aboutbaseUrl(unrelated to this change), no new type errors. The generated.prisma/clientalready includesworkdayin theTP_IDenum, confirming the schema change is consistent with the expected client types.Closes #372
/claim #372