productivity
Karbon CLI for AI Agents
Use the Karbon CLI from KosmoKrator to call Karbon tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.Karbon CLI Setup
Karbon can be configured headlessly with `kosmokrator integrations:configure karbon`.
# 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 karbon --set access_token="$KARBON_ACCESS_TOKEN" --enable --read allow --write ask --json
kosmokrator integrations:doctor karbon --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 | KARBON_ACCESS_TOKEN | Secret secret | yes | Access Token |
url | KARBON_URL | URL url | no | API URL |
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
kosmo integrations:call karbon.karbon_list_contacts '{"page":1,"limit":1}' --json kosmo integrations:karbon karbon_list_contacts '{"page":1,"limit":1}' --json Discovery
These commands return structured output for coding agents that need to inspect capabilities before choosing a function.
kosmo integrations:docs karbon --json
kosmo integrations:docs karbon.karbon_list_contacts --json
kosmo integrations:schema karbon.karbon_list_contacts --json
kosmo integrations:search "Karbon" --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.
karbon.karbon_list_contacts
List contacts in Karbon. Returns a paginated list of contacts with their names, emails, companies, and other details.
read - Parameters
- page, limit
kosmo integrations:call karbon.karbon_list_contacts '{"page":1,"limit":1}' --json kosmo integrations:karbon karbon_list_contacts '{"page":1,"limit":1}' --json karbon.karbon_get_contact
Get a single contact from Karbon by its unique identifier. Returns full contact details including name, email, phone, company, and any associated notes.
read - Parameters
- id
kosmo integrations:call karbon.karbon_get_contact '{"id":"example_id"}' --json kosmo integrations:karbon karbon_get_contact '{"id":"example_id"}' --json karbon.karbon_create_contact
Create a new contact in Karbon. Provide at least a first name and last name. Optionally include email, company, and phone number.
write - Parameters
- firstName, lastName, email, company, phone
kosmo integrations:call karbon.karbon_create_contact '{"firstName":"example_firstName","lastName":"example_lastName","email":"example_email","company":"example_company","phone":"example_phone"}' --json kosmo integrations:karbon karbon_create_contact '{"firstName":"example_firstName","lastName":"example_lastName","email":"example_email","company":"example_company","phone":"example_phone"}' --json karbon.karbon_list_work_items
List work items in Karbon. Returns a paginated list of work items. Optionally filter by status (e.g., "Open", "InProgress", "Completed") or by assignee.
read - Parameters
- page, limit, status, assignee
kosmo integrations:call karbon.karbon_list_work_items '{"page":1,"limit":1,"status":"example_status","assignee":"example_assignee"}' --json kosmo integrations:karbon karbon_list_work_items '{"page":1,"limit":1,"status":"example_status","assignee":"example_assignee"}' --json karbon.karbon_get_work_item
Get a single work item from Karbon by its unique identifier. Returns full details including title, description, status, assignee, due date, and any associated notes.
read - Parameters
- id
kosmo integrations:call karbon.karbon_get_work_item '{"id":"example_id"}' --json kosmo integrations:karbon karbon_get_work_item '{"id":"example_id"}' --json karbon.karbon_list_users
List users in the Karbon account. Returns user details including names, emails, and roles. Use this to find assignees for work items.
read - Parameters
- limit
kosmo integrations:call karbon.karbon_list_users '{"limit":1}' --json kosmo integrations:karbon karbon_list_users '{"limit":1}' --json karbon.karbon_get_current_user
Get the currently authenticated Karbon user. Returns the profile of the user whose access token is configured for this integration.
read - Parameters
- none
kosmo integrations:call karbon.karbon_get_current_user '{}' --json kosmo integrations:karbon karbon_get_current_user '{}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
karbon.karbon_list_contacts 2 parameters
kosmo integrations:schema karbon.karbon_list_contacts --json | Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | no | Page number for pagination (default: 1). |
limit | integer | no | Number of contacts to return per page (default: 20, max: 100). |
karbon.karbon_get_contact 1 parameters
kosmo integrations:schema karbon.karbon_get_contact --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The unique identifier of the contact. |
karbon.karbon_create_contact 5 parameters
kosmo integrations:schema karbon.karbon_create_contact --json | Parameter | Type | Required | Description |
|---|---|---|---|
firstName | string | yes | The contact's first name. |
lastName | string | yes | The contact's last name. |
email | string | no | The contact's email address. |
company | string | no | The contact's company or organization name. |
phone | string | no | The contact's phone number. |
karbon.karbon_list_work_items 4 parameters
kosmo integrations:schema karbon.karbon_list_work_items --json | Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | no | Page number for pagination (default: 1). |
limit | integer | no | Number of work items to return per page (default: 20, max: 100). |
status | string | no | Filter by work item status (e.g., "Open", "InProgress", "Completed"). |
assignee | string | no | Filter by the email or ID of the assigned user. |
karbon.karbon_get_work_item 1 parameters
kosmo integrations:schema karbon.karbon_get_work_item --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The unique identifier of the work item. |
karbon.karbon_list_users 1 parameters
kosmo integrations:schema karbon.karbon_list_users --json | Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | no | Number of users to return (default: 20). |
karbon.karbon_get_current_user 0 parameters
kosmo integrations:schema karbon.karbon_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.