Skip to main content

Implementation Overview

Implementation Type: Direct API Integration
Note Format: HTML
Status: Production Ready

Configuration

PropertyValue
Provider Enumrecruitcrm
Note FormatHTML
Disposition ReasonsNot Implemented
All Application StagesSupported
Base URLhttps://api.recruitcrm.io

Feature Summary

Direct API integration with strong support for core operations. Missing formal rejection and custom field schema retrieval, but all critical features (streaming, applications, candidates, notes, attachments) are fully functional.

Known Limitations

  • No Rejection API: Cannot formally reject applications with reasons. Workaround: move to “declined” stage
  • No Custom Fields Schema: Custom field definitions cannot be fetched dynamically
  • No Find Candidates: Candidate search by details not implemented

Streaming Operations (All Supported)

  • Stream Jobs (Custom Implementation)
  • Stream Applications (Custom Implementation)
  • Stream Candidates (Custom Implementation)
All streaming operations include full pagination support and filtering capabilities.
  • Move to Stage ✅ (Custom Implementation)
  • Create Applications ✅ (Custom Implementation)
  • Get All Stages ✅ (Custom Implementation)
  • Get Rejection Reasons ❌ (Not Implemented)
  • Reject Applications ❌ (Not Implemented - single & bulk)
Note: RecruitCRM supports moving candidates through hiring pipeline stages, but formal rejection with reasons is not yet implemented. Applications can be moved to a “declined” stage as a workaround.
  • Get Job by ID (Custom Implementation)
  • Get Enhanced Job (Custom Implementation)
  • Batch Job Operations (Custom Implementation)
Comprehensive job management including company and user associations.
  • Get Candidate by ID (Custom Implementation)
  • Find by Details (Custom Implementation)
  • Get Resume (Custom Implementation with retry logic)
Advanced candidate search and resume handling with metadata support.
  • Application Notes (Custom Implementation)
  • Candidate Notes (Custom Implementation)
  • Application Attachments (Custom Implementation)
  • Candidate Attachments (Custom Implementation)
Full support for notes and file attachments with MIME type detection.
  • Application Custom Fields ❌
  • Candidate Custom Fields ❌
  • Job Custom Fields ❌
Note: While RecruitCRM has custom fields in their API, fetching custom field schemas is not yet implemented. Custom field metadata retrieval raises NotImplementedError.

Implementation Notes

Candidate History

Custom implementation to track candidate hiring stage history across jobs, including:
  • Job status tracking
  • Candidate status tracking
  • Remark preservation
  • Updated by/on timestamps

Resume Handling

Sophisticated resume retrieval with:
  • Multi-redirect following
  • Base64 content extraction
  • MIME type detection
  • Retry logic for reliability

Pagination

Consistent pagination across all endpoints using RecruitCRM’s cursor-based system with configurable page sizes (default: 100).

Data Models

Rich data models including:
  • RecruitCrmCompany: Company associations
  • RecruitCrmUser: User/recruiter data
  • CandidateHistoryEntry: Stage history tracking
  • Custom field value tracking
  • Implementation: server/ats/recruitcrm_ats_client.py (~2,700 lines)
  • Field Mappings: server/ats/field_type_mapper.py (RECRUITCRM_FIELD_MAPPINGS)
  • Base Class: server/ats/base_ats_client.py

See Also