Skip to main content

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

PropertyValueDescription
Provider EnumtempworksIdentifier in ProviderEnum
Note FormatPLAINText-only notes
Disposition ReasonsNot SupportedNot yet implemented
All Application StagesNot SupportedNot yet implemented
Base URLCustomer-specificVia Surge account configuration

Feature Coverage

Streaming Operations

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.

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.

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.

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.

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.

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.

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

Limited Application Management
This integration does not support application lifecycle management (stages, rejection, creation). It is designed for candidate sourcing only.
No Custom Fields
All custom field methods return empty lists or are not implemented. TempWorks custom field integration is not currently supported.
Early Stage Development
At ~25% completion, this integration is in early development. Many standard ATS features are not yet available.

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