Implementation Overview
Implementation Type: Kombo-based Integration (open beta connector) Note Format: Plain Text Status: Open beta (Kombo connector) Paradox integrates through Kombo’s unified ATS API (tool slug paradox). Sync, stage movement, application notes, create-application, and
result-link writebacks inherit from the shared Kombo client. This is not a read-only
integration like Paycor: notes and stage moves are documented Kombo actions.
Kombo lists this connector as open beta. Enable it on the Kombo account before customers
can connect.
Configuration
Admin config follows other Kombo providers (start / resume-review / AI interview pass-fail
stages, interview link, application score) with job link, interview PDF, and disposition
fields disabled — see Known Limitations.
Connection
Customers connect via Tenzo → ATS Integrations → Kombo connect link, same as other Kombo ATS providers. Kombo’s Paradox connection guide covers credential setup in Paradox. Search jobs by Komboremote_id, not a Paradox UI URL id. Draft jobs in Paradox Job
Builder never appear in Kombo until they are published with a jobreqid.
Feature Coverage
Streaming Operations
Streaming Operations
- Stream Jobs / Applications / Candidates — Inherited
- Delta syncs — Kombo Feature
- Job-on-application is id-only. Paradox’s XML feed does not expand the job an applicant
applied to. Tenzo joins
application.job_idto the Jobs stream / get-job-by-id.
Application Management
Application Management
- Move to Stage — Inherited. Paradox returns a stage name; Tenzo maps interview / hiring / rejection via admin stage config. - Create Applications / Create Candidates — Inherited. Same payload shape; Kombo notes that candidates and applications are the same entity in Paradox. - Get Stages / job-specific stages — Inherited - Reject + Disposition Reasons — Not supported. Use fail stages. - Stage rename in Paradox is treated as a new stage. Changing a job’s Candidate Journey requires moving existing applications onto the new journey before Kombo will show them.
Job Management / Enhanced Job
Job Management / Enhanced Job
- Get Job by ID — Inherited (Jobs model exists independently of the XML-feed application join)
- Get Enhanced Job — Kombo AtsJob + raw
/ats/jobspayload- Promoted scalars:
status,experience_level,salary_amount,opened_at(locationis onAtsJob, not duplicated as a custom field) - Job
custom_fieldsintocustom_field_valuesfor the rules engine (catalog unions promoted scalars with keys sampled from Kombo jobs) - Job postings provide
description_html/urlwhen present - No
job_code. Campaign names use{job title} - {remote_id} - Thinner than Workable: no department, employment_type, category, visibility, confidential, or salary range
- Promoted scalars:
Notes & Attachments
Notes & Attachments
- Add Note to Application — Inherited (call summary, SMS, email activity) -
Add Note to Candidate — Not a Kombo action. Sourced-candidate notes post
to the application once one exists (same Paradox entity). - Attachments — CV
only. Uploading a new CV overwrites the existing one. Interview-result PDFs
are not sent (would clobber the resume or fail as type
OTHER). - Resume download — Not supported. See Known Limitations.
Custom Fields
Custom Fields
- Job Custom Fields — Read-only for rules. Writeback not supported → Tenzo job link disabled.
- Application score + interview link — Kombo Add result link to application
(
url/label/custom_field_name_prefix+ attributes). Not a generic CF-update-by-id API. - Candidate interview score — no candidate result-link action. Routed through the application result-link (candidate ≡ application).
- Custom Field Explorer — Kombo Feature (read catalog).
Known Limitations
These v1 checklist items are not implemented because Kombo and/or Olivia cannot support them. Passthrough does not close the gaps: Olivia has no job write and no CV download, andPOST /candidates/{OID}/documents is upload-only.
Tenzo job link cannot be written to the job Kombo has no Paradox job
update or job custom-field write action. The Olivia public API also has no
job/requisition write. The Tenzo job link admin field is disabled.
Call-summary / interview PDF is not uploaded Paradox attachments are
CV-only. A new upload overwrites the existing resume. Tenzo no-ops application
and candidate attachment writes so interview PDFs cannot clobber the CV.
Reject + disposition reasons are not supported Paradox is not on Kombo’s
unified reject-application list, and Kombo exposes no Paradox
disposition-reason catalog. Pass and fail are stage moves only. Admin
config omits rejection-reason fields.
No candidate-scoped notes, attachments, or result-links Kombo only
documents application-scoped actions. In Paradox, candidate and application
are the same entity, so sourced-candidate notes and scores are remapped to the
first application. There is no dedicated candidate attachment or result-link
action.
Candidate resumes cannot be downloaded Kombo
GET /ats/candidates/{id} /attachments and GET /ats/applications/{id}/attachments return
INTEGRATION.ACTION_NOT_AVAILABLE for Paradox. Olivia GET
candidate has no resume
field; GET /candidates/{OID}/documents is 405 (POST/DELETE only); GET /resume and GET /attachments are 404. Candidates sync without CVs.Thinner job metadata than other Kombo ATS clients No
job_code,
department, employment type, category, visibility, confidential, or salary
range. Applications carry job id only (XML-feed limitation). Draft Job Builder
jobs are invisible to Kombo until published with a jobreqid.Related Files
- Implementation:
server/ats/paradox/paradox_ats_client.py - Models:
server/ats/paradox/paradox_models.py - Job enrichment:
server/ats/paradox/paradox_job_enrichment.py - Result-link helper:
server/ats/kombo_result_link.py - Config:
server/ats/config/providers.py(ParadoxConfig) - Field mappings:
server/ats/field_type_mapper.py(PARADOX_FIELD_MAPPINGS)