Skip to main content

Implementation Overview

Implementation Type: Kombo-based Integration
Note 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)

  • Stream Jobs (Inherited)
  • Stream Applications (Inherited)
  • Stream Candidates (Inherited)
All streaming through Kombo’s unified API.
  • Move to Stage (Inherited)
  • Get Rejection Reasons (Inherited)
  • Reject Applications (Single & Bulk) (Inherited)
  • Create Applications (Inherited)
  • Get All Stages (Inherited)
Complete application management via Kombo.
  • Get Job by ID (Inherited)
  • Get Enhanced Job (Inherited)
  • Batch Job Operations (Inherited)
Standard job operations through Kombo.
  • Get Candidate by ID (Inherited)
  • Find by Details (Inherited)
  • Get Resume (Inherited)
Full candidate management support.
  • 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 _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.
  • Application Custom Fields (Custom Implementation)
  • Candidate Custom Fields (Inherited)
  • Job Custom Fields (Custom Implementation)
Implementation Notes:
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

Includes workday_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:
Uses Workday library to properly format requests and parse responses from Workday’s SOAP API.

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 using contextlib.suppress for robustness.
  • 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