Skip to main content

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 Kombo remote_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

  • 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_id to the Jobs stream / get-job-by-id.
  • 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.
  • Get Job by ID — Inherited (Jobs model exists independently of the XML-feed application join)
  • Get Enhanced Job — Kombo AtsJob + raw /ats/jobs payload
    • Promoted scalars: status, experience_level, salary_amount, opened_at (location is on AtsJob, not duplicated as a custom field)
    • Job custom_fields into custom_field_values for the rules engine (catalog unions promoted scalars with keys sampled from Kombo jobs)
    • Job postings provide description_html / url when present
    • No job_code. Campaign names use {job title} - {remote_id}
    • Thinner than Workable: no department, employment_type, category, visibility, confidential, or salary range
  • 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.
  • 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, and POST /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.
  • 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)

See Also