Skip to main content

Implementation Overview

Implementation Type: Kombo-based Integration
Note Format: Plain Text
Status: Beta — early customers
Standalone Workable integrates through Kombo’s unified API for sync, stage movement, application notes, attachments, create application, and disposition. Candidate comments and custom-attribute writebacks use Workable SPI v3 via Kombo passthrough (/passthrough/workable/v3). This is not the MW Resources Tracker–Workable hybrid (tracker-workable). That customer-specific client remains separate; only MW’s known Kombo integration ID still routes to the hybrid.

Configuration

Coexistence with Tracker Workable

Feature Coverage

Streaming Operations

  • Stream Jobs / Applications / Candidates — Inherited from BaseKomboAtsClient
  • Move to Stage — Inherited
  • Create Applications — Inherited
  • Get All Stages — Inherited
  • Reject + Disposition Reasons — Inherited (supported for Workable)
  • Get Job by ID — Inherited
  • Get Enhanced Job — Kombo AtsJob + raw Kombo /ats/jobs payload
    • Promotes scalars KomboClient drops onto AtsJob (department, employment_type, category, experience_level, visibility, confidential, salary_*) into custom_field_values for the rules engine
    • Maps Kombo job custom_fields into custom_field_values
  • Batch enhanced fetch — pages Kombo jobs up to the requested limit (Kombo page size 250) and batch-enriches from raw /ats/jobs payloads; per-job enrich failures soft-fail to the base job without custom fields
  • Add Note to Application — Inherited (Kombo unified)
  • Add Note to Candidate — Passthrough POST /candidates/{id}/comments (requires a Workable member_id; client caches an ats.admin / workable.superadmin member from GET /members, with legacy role string fallback)
  • Attachments — Inherited; prefer type OTHER so Workable does not overwrite the CV. Non-CV uploads may surface as comments; app attach can fall back to the candidate.
  • Job Custom Fields: Read-only for rules (from enhanced job). Schema exposes promoted Kombo scalars (department, employment_type, salary_*, etc.) for the rules builder. Writeback not supported by Workable’s API → Tenzo job link admin field is disabled.
  • Candidate / Application Custom Fields: Listed dynamically via GET /custom_attributes and updated via PATCH /candidates/{id}/update_custom_attribute_value.
    • Application writebacks resolve the associated candidate remote ID and update candidate-scoped attributes (powers interview link, scores, and Meeting Copilot).
    • Choice attributes (dropdown, multiple_choice) dynamically map extracted option labels (e.g. "Python", "A") to Workable choice option IDs (e.g. "91ea0", "91ea3") discovered from GET /custom_attributes.
    • Workable expects one attribute update per PATCH request with type-specific payload shapes:

Known Gaps

  • Tenzo job link cannot be written to Workable (API has no job-level CF write).
  • Candidate notes are not on Kombo’s unified Workable Actions list; implemented via passthrough only.
  • Date and file custom attributes require specialized payloads (date, file_url); they remain omitted from the writeback field catalog until required.
  • Kombo Workable tool webhooks are delayed and cover limited events; Tenzo sync relies on Kombo sync-finished.
  • MW Resources hybrid routing is pinned to Kombo integration id workable:5iX8TrRmpARQNFQfp2Q8Bm64. A reconnect that mints a new id must update that constant (and OrgConfigRegistry) or MW will register as standalone Workable.