Implementation Overview
Implementation Type: Kombo-based IntegrationNote Format: Plain Text
Status: Production Ready Workday integrates through Kombo’s unified API with custom implementations for Workday-specific custom field management.
Configuration
Feature Summary
Comprehensive Kombo-based integration with strong custom field support.Streaming Operations (All Supported)
Streaming Operations (All Supported)
- Stream Jobs (Inherited)
- Stream Applications (Inherited)
- Stream Candidates (Inherited)
Application Management (All Supported)
Application Management (All Supported)
- Move to Stage (Inherited)
- Get Rejection Reasons (Inherited)
- Reject Applications (Single & Bulk) (Inherited)
- Create Applications (Inherited)
- Get All Stages (Inherited)
Job Management (All Supported)
Job Management (All Supported)
- Get Job by ID (Inherited)
- Get Enhanced Job (Inherited)
- Batch Job Operations (Inherited)
Candidate Management (All Supported)
Candidate Management (All Supported)
- Get Candidate by ID (Inherited)
- Find by Details (Inherited)
- Get Resume (Inherited)
Notes & Attachments (Attachments Only)
Notes & Attachments (Attachments Only)
- Application Notes (Not Supported - silent no-op; Workday/Kombo does not support application notes)
- Candidate Notes (Not Supported - silent no-op)
- Application Attachments (Inherited)
- Candidate Attachments (Inherited)
Notes Not Written to Workday
Both
Both
_add_note_to_application and _add_note_to_candidate are silent no-ops. supported_note_targets returns an empty set, so activity services can call these methods without triggering Kombo errors.Custom Fields (All Supported with Custom Enhancements)
Custom Fields (All Supported with Custom Enhancements)
- Application Custom Fields (Custom Implementation)
- Candidate Custom Fields (Inherited)
- Job Custom Fields (Custom Implementation)
Job custom fields merge the WSDL import catalog with Kombo-mapped keys on
ats_jobs (evergreen_wid, workday_job_profile_id, and any other mapped
fields). Mapped Kombo values are copied onto the enhanced job as strings when
present, so they appear in the rules engine. Custom implementation for
application custom fields uses Workday library to:- Fetch field definitions via passthrough
- Update field values with proper formatting
- Handle Workday-specific field types
Workday-Specific Features
SOAP API Integration
Workday uses SOAP protocol rather than REST. The passthrough URL points to/passthrough/workday/soap for custom operations.
Workday Library
Includesworkday_library module for:
- Application custom field retrieval
- Field value updates via SOAP
- Workday-specific data formatting
Custom Application Fields
Enhanced implementation for application custom fields:Field Type Mappings
Comprehensive field type mappings for Workday’s custom field system:- Boolean types (boolean, checkbox)
- String types (text, textarea, longtext, url, email, phone)
- Numeric types (number, integer, decimal, currency)
- Date types (date, datetime, timestamp)
- Select types (select, dropdown, picklist, multiselect)
Implementation Notes
Data Models
WorkdayJob- Job model with Workday-specific fields- Custom field value structures for SOAP compatibility
Error Handling
Includes suppression of non-critical errors in certain operations usingcontextlib.suppress for robustness.
Related Files
- Implementation:
server/ats/workday/workday_ats_client.py(~900 lines) - Library:
server/ats/workday/workday_library.py - Models:
server/ats/workday/workday_models.py - README:
server/ats/workday/README.md - Implementation Checklist:
server/ats/workday/WORKDAY_IMPLEMENTATION_CHECKLIST.md - Field Mappings: Inline in client (WORKDAY_FIELD_MAPPINGS)
- Base Class:
server/ats/base_kombo_ats_client.py
See Also
- Workday (customer-facing docs: setup checklist plus workflow step cache, WSDL import, tenant namespace under ATS Integrations → Workday)
- ATS Coverage Matrix
- Workday Documentation