productivity
Workable CLI for AI Agents
Use the Workable CLI from KosmoKrator to call Workable tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.Workable CLI Setup
Workable can be configured headlessly with `kosmokrator integrations:configure workable`.
# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash
# Configure and verify this integration.
kosmokrator integrations:configure workable --set access_token="$WORKABLE_ACCESS_TOKEN" --set subdomain="$WORKABLE_SUBDOMAIN" --enable --read allow --write ask --json
kosmokrator integrations:doctor workable --json
kosmokrator integrations:status --json Credentials
Authentication type: Bearer token bearer_token. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.
| Key | Env var | Type | Required | Label |
|---|---|---|---|---|
access_token | WORKABLE_ACCESS_TOKEN | Secret secret | yes | Access Token |
subdomain | WORKABLE_SUBDOMAIN | Text string | yes | Subdomain |
base_url | WORKABLE_BASE_URL | URL url | no | Base URL |
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
kosmo integrations:call workable.workable_list_jobs '{"state":"example_state","limit":1,"offset":1}' --json kosmo integrations:workable workable_list_jobs '{"state":"example_state","limit":1,"offset":1}' --json Discovery
These commands return structured output for coding agents that need to inspect capabilities before choosing a function.
kosmo integrations:docs workable --json
kosmo integrations:docs workable.workable_list_jobs --json
kosmo integrations:schema workable.workable_list_jobs --json
kosmo integrations:search "Workable" --json
kosmo integrations:list --json Automation Contexts
The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.
CLI Functions
Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.
workable.workable_list_jobs
List jobs from your Workable account. Optionally filter by state (published, draft, closed, archived). Returns paginated results with job titles, shortcodes, and statuses.
read - Parameters
- state, limit, offset
kosmo integrations:call workable.workable_list_jobs '{"state":"example_state","limit":1,"offset":1}' --json kosmo integrations:workable workable_list_jobs '{"state":"example_state","limit":1,"offset":1}' --json workable.workable_get_job
Get full details for a specific Workable job by its shortcode. Returns title, description, department, location, employment type, salary, and application counts.
read - Parameters
- shortcode
kosmo integrations:call workable.workable_get_job '{"shortcode":"example_shortcode"}' --json kosmo integrations:workable workable_get_job '{"shortcode":"example_shortcode"}' --json workable.workable_create_job
Create a new job posting in Workable. Specify the title, description, department, and employment type. The job is created in draft state by default.
write - Parameters
- title, description, department, employment_type
kosmo integrations:call workable.workable_create_job '{"title":"example_title","description":"example_description","department":"example_department","employment_type":"example_employment_type"}' --json kosmo integrations:workable workable_create_job '{"title":"example_title","description":"example_description","department":"example_department","employment_type":"example_employment_type"}' --json workable.workable_list_candidates
List candidates for a specific Workable job. Returns paginated results with candidate names, emails, stages, and applied dates.
read - Parameters
- shortcode, limit, offset
kosmo integrations:call workable.workable_list_candidates '{"shortcode":"example_shortcode","limit":1,"offset":1}' --json kosmo integrations:workable workable_list_candidates '{"shortcode":"example_shortcode","limit":1,"offset":1}' --json workable.workable_get_candidate
Get full details for a specific Workable candidate by ID. Returns profile info, resume, cover letter, application stage, and activity history.
read - Parameters
- id
kosmo integrations:call workable.workable_get_candidate '{"id":"example_id"}' --json kosmo integrations:workable workable_get_candidate '{"id":"example_id"}' --json workable.workable_list_members
List all team members in your Workable account, including recruiters and hiring managers. Returns names, emails, and roles.
read - Parameters
- none
kosmo integrations:call workable.workable_list_members '{}' --json kosmo integrations:workable workable_list_members '{}' --json workable.workable_get_current_user
Get the profile of the currently authenticated Workable user. Useful for verifying credentials and identifying who the API is acting as.
read - Parameters
- none
kosmo integrations:call workable.workable_get_current_user '{}' --json kosmo integrations:workable workable_get_current_user '{}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
workable.workable_list_jobs 3 parameters
kosmo integrations:schema workable.workable_list_jobs --json | Parameter | Type | Required | Description |
|---|---|---|---|
state | string | no | Filter by job state: "published", "draft", "closed", or "archived". Omit to list all jobs. |
limit | integer | no | Number of results per page (default: 50, max: 100). |
offset | integer | no | Offset for pagination — pass the value from a previous response to get the next page. |
workable.workable_get_job 1 parameters
kosmo integrations:schema workable.workable_get_job --json | Parameter | Type | Required | Description |
|---|---|---|---|
shortcode | string | yes | The job shortcode identifier (e.g., "GROVF002"). |
workable.workable_create_job 4 parameters
kosmo integrations:schema workable.workable_create_job --json | Parameter | Type | Required | Description |
|---|---|---|---|
title | string | yes | Job title (e.g., "Senior Backend Engineer"). |
description | string | yes | Full job description in HTML or plain text. |
department | string | no | Department name (e.g., "Engineering"). |
employment_type | string | no | Employment type: "full-time", "part-time", "contract", "temporary", "intern". |
workable.workable_list_candidates 3 parameters
kosmo integrations:schema workable.workable_list_candidates --json | Parameter | Type | Required | Description |
|---|---|---|---|
shortcode | string | yes | The job shortcode to list candidates for (e.g., "GROVF002"). |
limit | integer | no | Number of results per page (default: 50, max: 100). |
offset | integer | no | Offset for pagination — pass the value from a previous response to get the next page. |
workable.workable_get_candidate 1 parameters
kosmo integrations:schema workable.workable_get_candidate --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The candidate ID (e.g., "abc123def456"). |
workable.workable_list_members 0 parameters
kosmo integrations:schema workable.workable_list_members --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
workable.workable_get_current_user 0 parameters
kosmo integrations:schema workable.workable_get_current_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
Permissions
Headless calls still follow the integration read/write permission policy. Configure read/write defaults with
integrations:configure. Add --force only for trusted automation that should bypass that policy.