> ## Documentation Index
> Fetch the complete documentation index at: https://f4c7a9e2d8b1-docs.tenzo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Workday ATS

> Feature coverage and implementation details for Workday integration

## 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

| Property               | Value                       |
| ---------------------- | --------------------------- |
| Provider Enum          | `workday`                   |
| Note Format            | `PLAIN`                     |
| Disposition Reasons    | Supported                   |
| All Application Stages | Supported                   |
| Passthrough URL        | `/passthrough/workday/soap` |

## Feature Summary

Comprehensive Kombo-based integration with strong custom field support.

<AccordionGroup>
  <Accordion title="Streaming Operations (All Supported)" defaultOpen>
    * Stream Jobs (Inherited)
    * Stream Applications (Inherited)
    * Stream Candidates (Inherited)

    All streaming through Kombo's unified API.
  </Accordion>

  <Accordion title="Application Management (All Supported)">
    * 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.
  </Accordion>

  <Accordion title="Job Management (All Supported)">
    * Get Job by ID (Inherited)
    * Get Enhanced Job (Inherited)
    * Batch Job Operations (Inherited)

    Standard job operations through Kombo.
  </Accordion>

  <Accordion title="Candidate Management (All Supported)">
    * Get Candidate by ID (Inherited)
    * Find by Details (Inherited)
    * Get Resume (Inherited)

    Full candidate management support.
  </Accordion>

  <Accordion title="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)

    <Note>
      **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.
    </Note>
  </Accordion>

  <Accordion title="Custom Fields (All Supported with Custom Enhancements)">
    * Application Custom Fields (**Custom Implementation**)
    * Candidate Custom Fields (Inherited)
    * Job Custom Fields (Inherited)

    **Implementation Notes:**\
    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
  </Accordion>
</AccordionGroup>

## 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:

```python theme={null}
async def _get_application_custom_fields()
async def _update_application_custom_fields(application, updates)
```

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.

## 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](/ats-integrations/workday/setup) (customer-facing docs: setup checklist plus workflow step cache, WSDL import, tenant namespace under **ATS Integrations → Workday**)
* [ATS Coverage Matrix](/internal/ats-coverage)
* [Workday Documentation](https://www.workday.com/)
