Implementation Overview
Implementation Type: Direct API IntegrationNote 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
Streaming Operations
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.Application Management
Application Management
Move Application to Stage
Status: Not SupportedMethod:
_move_application_to_stage(application, stage)Not yet implemented.Get Disposition Reasons
Status: Not SupportedMethod:
get_disposition_reasons()Not yet implemented.Reject Application
Status: Not SupportedMethod:
reject_application(application_id, reason_id)Not yet implemented.Bulk Reject Applications
Status: Not SupportedMethod:
bulk_reject_applications(application_ids, reason_id)Not yet implemented.Create Application
Status: Not SupportedMethod:
_create_application_for_candidate(candidate, job)Not yet implemented.Get All Application Stages
Status: Not SupportedMethod:
_get_all_application_stages()Not yet implemented.Job Management
Job Management
Get Job by ID
Status: Not SupportedMethod:
get_job_by_job_id(job_id)Not yet implemented.Get Enhanced Job
Status: Not SupportedMethod:
get_enhanced_job(kombo_id, remote_job_id)Not yet implemented.Fetch Enhanced Jobs Batch
Status: Not SupportedMethod:
_fetch_enhanced_jobs_batch_from_ats(limit, cursor)Not yet implemented.Candidate Management
Candidate Management
Get Candidate by ID
Status: SupportedMethod:
_get_candidate_by_id(candidate_id)Retrieves candidate records from TempWorks API.Find Candidates by Details
Status: Not SupportedMethod:
_find_candidates_by_details(first_name, last_name, email, phone)Not yet implemented.Get Resume
Status: SupportedMethod:
_get_resume_for_candidate_id(candidate_id)Downloads candidate resumes from TempWorks.Notes & Attachments
Notes & Attachments
Add Note to Application
Status: Not SupportedMethod:
_add_note_to_application(application, note, note_action_type)Not yet implemented.Add Note to Candidate
Status: SupportedMethod:
_add_note_to_candidate(candidate, note, note_action_type)Adds notes to candidate records in TempWorks.Add Attachment to Application
Status: Not SupportedMethod:
_add_attachment_to_application(filename, application_id, pdf_b64)Not yet implemented.Add Attachment to Candidate
Status: SupportedMethod:
_add_attachment_to_candidate(filename, candidate_id, pdf_b64)Uploads attachments to candidate records.Custom Fields
Custom Fields
Application Custom Fields
Status: Not SupportedMethods:
_get_application_custom_fields()- Returns empty list_update_application_custom_fields(application, updates)- Not implemented
Candidate Custom Fields
Status: Not SupportedMethods:
_get_candidate_custom_fields()- Returns empty list_update_candidate_custom_fields(candidate, updates)- Not implemented
Job Custom Fields
Status: Not SupportedMethods:
_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
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
Early Stage Development
At ~25% completion, this integration is in early development. Many standard ATS features are not yet available.
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
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