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

# TempWorks ATS

> Feature coverage and implementation details for TempWorks integration

## Implementation Overview

**Implementation Type:** Direct API Integration\
**Note Format:** Plain Text\
**Status:** Production Ready

TempWorks is a direct API integration currently in early development stages. The implementation focuses primarily on candidate streaming with limited application and job management features.

## Configuration

| Property               | Value             | Description                     |
| ---------------------- | ----------------- | ------------------------------- |
| Provider Enum          | `tempworks`       | Identifier in ProviderEnum      |
| Note Format            | `PLAIN`           | Text-only notes                 |
| Disposition Reasons    | Not Supported     | Not yet implemented             |
| All Application Stages | Not Supported     | Not yet implemented             |
| Base URL               | Customer-specific | Via Surge account configuration |

## Feature Coverage

<AccordionGroup>
  <Accordion title="Streaming Operations" defaultOpen>
    ### Stream Jobs

    **Status:** Supported (Basic Implementation)\
    **Method:** `_stream_jobs(updated_after, statuses)`

    Basic job streaming implemented. Marked as not needed per implementation notes - focus is on candidate streaming.

    ### Stream Applications

    **Status:** Supported (Basic Implementation)\
    **Method:** `_stream_applications(updated_after, for_job_ids)`

    Basic application streaming implemented. Marked as not needed per implementation notes - focus is on candidate streaming.

    ### Stream Candidates

    **Status:** Supported (Primary Focus)\
    **Method:** `_stream_candidates(updated_after)`

    **Main implemented feature** - Streams candidate data from TempWorks API with proper filtering and pagination.
  </Accordion>

  <Accordion title="Application Management">
    ### Move Application to Stage

    **Status:** Not Supported\
    **Method:** `_move_application_to_stage(application, stage)`

    Not yet implemented.

    ### Get Disposition Reasons

    **Status:** Not Supported\
    **Method:** `get_disposition_reasons()`

    Not yet implemented.

    ### Reject Application

    **Status:** Not Supported\
    **Method:** `reject_application(application_id, reason_id)`

    Not yet implemented.

    ### Bulk Reject Applications

    **Status:** Not Supported\
    **Method:** `bulk_reject_applications(application_ids, reason_id)`

    Not yet implemented.

    ### Create Application

    **Status:** Not Supported\
    **Method:** `_create_application_for_candidate(candidate, job)`

    Not yet implemented.

    ### Get All Application Stages

    **Status:** Not Supported\
    **Method:** `_get_all_application_stages()`

    Not yet implemented.
  </Accordion>

  <Accordion title="Job Management">
    ### Get Job by ID

    **Status:** Not Supported\
    **Method:** `get_job_by_job_id(job_id)`

    Not yet implemented.

    ### Get Enhanced Job

    **Status:** Not Supported\
    **Method:** `get_enhanced_job(kombo_id, remote_job_id)`

    Not yet implemented.

    ### Fetch Enhanced Jobs Batch

    **Status:** Not Supported\
    **Method:** `_fetch_enhanced_jobs_batch_from_ats(limit, cursor)`

    Not yet implemented.
  </Accordion>

  <Accordion title="Candidate Management">
    ### Get Candidate by ID

    **Status:** Supported\
    **Method:** `_get_candidate_by_id(candidate_id)`

    Retrieves candidate records from TempWorks API.

    ### Find Candidates by Details

    **Status:** Not Supported\
    **Method:** `_find_candidates_by_details(first_name, last_name, email, phone)`

    Not yet implemented.

    ### Get Resume

    **Status:** Supported\
    **Method:** `_get_resume_for_candidate_id(candidate_id)`

    Downloads candidate resumes from TempWorks.
  </Accordion>

  <Accordion title="Notes & Attachments">
    ### Add Note to Application

    **Status:** Not Supported\
    **Method:** `_add_note_to_application(application, note, note_action_type)`

    Not yet implemented.

    ### Add Note to Candidate

    **Status:** Supported\
    **Method:** `_add_note_to_candidate(candidate, note, note_action_type)`

    Adds notes to candidate records in TempWorks.

    ### Add Attachment to Application

    **Status:** Not Supported\
    **Method:** `_add_attachment_to_application(filename, application_id, pdf_b64)`

    Not yet implemented.

    ### Add Attachment to Candidate

    **Status:** Supported\
    **Method:** `_add_attachment_to_candidate(filename, candidate_id, pdf_b64)`

    Uploads attachments to candidate records.
  </Accordion>

  <Accordion title="Custom Fields">
    ### Application Custom Fields

    **Status:** Not Supported\
    **Methods:**

    * `_get_application_custom_fields()` - Returns empty list
    * `_update_application_custom_fields(application, updates)` - Not implemented

    No custom field support for applications.

    ### Candidate Custom Fields

    **Status:** Not Supported\
    **Methods:**

    * `_get_candidate_custom_fields()` - Returns empty list
    * `_update_candidate_custom_fields(candidate, updates)` - Not implemented

    No custom field support for candidates.

    ### Job Custom Fields

    **Status:** Not Supported\
    **Methods:**

    * `_get_job_custom_fields()` - Returns empty list
    * `_get_job_custom_field_values(job_id)` - Returns empty list
    * `_update_job_custom_fields(job, updates)` - Not implemented

    No custom field support for jobs.
  </Accordion>
</AccordionGroup>

## Implementation Notes

### Primary Use Case

This integration is primarily designed for candidate sourcing workflows rather than full ATS functionality. The focus is on:

* Streaming candidate data
* Adding notes to candidates
* Uploading attachments to candidates
* Basic resume access

### Authentication

Uses Surge account configuration with customer-specific API credentials.

### Limited Scope

Per implementation notes, job and application streaming are marked as "NOT NEEDED - ONLY NEED STREAM CANDIDATES", indicating this is a candidate-focused integration.

## Known Limitations

<Warning>
  **Limited Application Management**\
  This integration does not support application lifecycle management (stages, rejection, creation). It is designed for candidate sourcing only.
</Warning>

<Warning>
  **No Custom Fields**\
  All custom field methods return empty lists or are not implemented. TempWorks custom field integration is not currently supported.
</Warning>

<Note>
  **Early Stage Development**\
  At \~25% completion, this integration is in early development. Many standard ATS features are not yet available.
</Note>

## Implementation Progress

According to the implementation checklist:

* **6 methods implemented** (20-25% complete)
* **24 methods pending**
* Focus areas:
  * Candidate streaming (primary goal)
  * Candidate notes and attachments
  * Basic resume retrieval

## Related Files

* Implementation: `server/ats/tempworks/tempworks_ats_client.py`
* Library: `server/ats/tempworks/tempworks_library.py`
* Models: `server/ats/tempworks/tempworks_models.py`
* Checklist: `server/ats/tempworks/COMPLETE_TEMPWORKS_IMPLEMENTATION_CHECKLIST.md`
* Field Mappings: `server/ats/field_type_mapper.py` (TEMPWORKS\_FIELD\_MAPPINGS)
* Base Class: `server/ats/base_ats_client.py`

## See Also

* [ATS Coverage Matrix](/internal/ats-coverage)
* [TempWorks Implementation Checklist](../../server/ats/tempworks/COMPLETE_TEMPWORKS_IMPLEMENTATION_CHECKLIST.md)
