Skip to main content

Implementation Overview

Implementation Type: Kombo-based Integration
Note Format: HTML
Status: Production Ready
Avionte integrates through Kombo’s unified API with additional custom implementations via Kombo’s passthrough API for Avionte-specific features. Currently in active development with core functionality operational.

Configuration

PropertyValueDescription
Provider EnumavionteIdentifier in ProviderEnum
Note FormatHTMLHTML-formatted notes
Disposition ReasonsSupportedInherited from Kombo
All Application StagesSupportedInherited from Kombo
Passthrough URL/passthrough/avionteKombo passthrough endpoint

Feature Coverage

Streaming Operations

Stream Jobs

Status: Supported (Inherited)
Method: _stream_jobs(updated_after, statuses)
Streams jobs from Avionte via Kombo unified API.

Stream Applications

Status: Supported (Inherited)
Method: _stream_applications(updated_after, for_job_ids)
Streams applications via Kombo with automatic mapping.

Stream Candidates

Status: Supported (Inherited)
Method: _stream_candidates(updated_after)
Streams candidates from Avionte through Kombo.

Move Application to Stage

Status: Supported (Inherited, with limitations)
Method: _move_application_to_stage(application, stage)
Implementation Notes:
Kombo has specific restrictions for Avionte stage management. Candidates CANNOT be moved to stages with remote IDs PIPELINE or WEB_APPLICATION. These are Kombo-imposed limitations, not Avionte limitations.

Get Disposition Reasons

Status: Supported (Inherited)
Method: get_disposition_reasons()
Retrieves rejection reasons through Kombo.

Reject Application

Status: Supported (Inherited)
Method: reject_application(application_id, reason_id)
Standard rejection through Kombo API.

Bulk Reject Applications

Status: Supported (Inherited)
Method: bulk_reject_applications(application_ids, reason_id)
Bulk rejection support via Kombo.

Create Application

Status: Supported (Inherited)
Method: _create_application_for_candidate(candidate, job)
Creates applications through Kombo unified API.

Get All Application Stages

Status: Supported (Inherited)
Method: _get_all_application_stages()
Fetches all stages via Kombo.

Get Job by ID

Status: Supported (Inherited)
Method: get_job_by_job_id(job_id)
Job retrieval through Kombo.

Get Enhanced Job

Status: Supported (Custom Implementation)
Method: get_enhanced_job(kombo_id, remote_job_id)
Implementation Notes:
Custom implementation augments Kombo job data with Avionte-specific fields via passthrough API.

Fetch Enhanced Jobs Batch

Status: Supported (Custom Implementation)
Method: _fetch_enhanced_jobs_batch_from_ats(limit, cursor)
Batch fetches jobs with Avionte-specific data using /jobs/multi-query endpoint.

Get Candidate by ID

Status: Supported (Inherited)
Method: _get_candidate_by_id(candidate_id)
Candidate retrieval via Kombo.

Find Candidates by Details

Status: Supported (Inherited)
Method: _find_candidates_by_details(first_name, last_name, email, phone)
Candidate search through Kombo API.

Get Resume

Status: Supported (Inherited)
Method: _get_resume_for_candidate_id(candidate_id)
Resume retrieval via Kombo.

Add Note to Application

Status: Supported (Inherited)
Method: _add_note_to_application(application, note, note_action_type)
Note posting to applications via Kombo.

Add Note to Candidate

Status: Not Supported
Method: _add_note_to_candidate(candidate, note, note_action_type)
Status: Critical Priority - Not Yet ImplementedBaseKomboAtsClient doesn’t support adding notes to candidates. Needs custom implementation via Avionte passthrough API: POST /candidate/{id}/note.This is critical for sourcing workflows.

Add Attachment to Application

Status: Supported (Inherited)
Method: _add_attachment_to_application(filename, application_id, pdf_b64)
Attachment upload to applications via Kombo.

Add Attachment to Candidate

Status: Supported (Inherited)
Method: _add_attachment_to_candidate(filename, candidate_id, pdf_b64)
Attachment upload to candidates via Kombo.

Application Custom Fields

Status: Not Supported
Methods:
  • _get_application_custom_fields() - Not yet implemented
  • _update_application_custom_fields(application, updates) - Not yet implemented
Status: High PriorityNeeds implementation via Avionte passthrough:
  • Get: /application/customDetailDefinitions
  • Update: PATCH /application/{id}

Candidate Custom Fields

Status: Not Supported
Methods:
  • _get_candidate_custom_fields() - Not yet implemented
  • _update_candidate_custom_fields(candidate, updates) - Not yet implemented
Status: High PriorityNeeds implementation via Avionte passthrough:
  • Get: /candidate/customDetailDefinitions
  • Update: PATCH /candidate/{id}

Job Custom Fields

Status: Supported (Custom Implementation)
Methods:
  • _get_job_custom_fields() - Implemented via passthrough
  • _get_job_custom_field_values(job_id) - Implemented via passthrough
  • _update_job_custom_fields(job, updates) - Implemented via passthrough
Full support for job custom fields using Avionte’s /job/customDetailDefinitions endpoint.

Implementation Notes

Stage Management Restrictions

Kombo has specific restrictions for Avionte:
  • Internal stages PIPELINE and WEB_APPLICATION cannot be used as move targets
  • Filter out these stages before presenting options to users
  • This is a Kombo-imposed limitation for system stability

Job Custom Fields

Uses Avionte’s custom detail definitions API to:
  • Fetch field schemas
  • Retrieve field values per job
  • Update field values

Passthrough API Usage

Most Avionte-specific features use Kombo’s passthrough API at /passthrough/avionte.

Known Limitations

Candidate Notes Not Supported
Adding notes to candidates is not yet implemented. This is critical for sourcing workflows and is the highest priority missing feature.
Stage Movement Restrictions
Cannot move candidates to PIPELINE or WEB_APPLICATION stages due to Kombo restrictions. Filter these out in UI.
Application/Candidate Custom Fields
Custom field support for applications and candidates is not yet implemented. Job custom fields are fully supported.

Implementation Progress

According to the implementation checklist:
  • 14 methods implemented (70% complete)
  • 6 methods pending:
    • 1 critical priority (candidate notes)
    • 4 high priority (application/candidate custom fields)
    • 1 medium priority (enhanced candidate data)
  • Implementation: server/ats/avionte/avionte_ats_client.py
  • Models: server/ats/avionte/avionte_models.py
  • Field Mappings: server/ats/field_type_mapper.py (AVIONTE_FIELD_MAPPINGS)
  • Checklist: server/ats/avionte/COMPLETE_AVIONTE_IMPLEMENTATION_CHECKLIST.md
  • Base Class: server/ats/base_kombo_ats_client.py

See Also