productivity
Vero CLI for AI Agents
Use the Vero CLI from KosmoKrator to call Vero tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.Vero CLI Setup
Vero can be configured headlessly with `kosmokrator integrations:configure vero`.
# 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 vero --set auth_token="$VERO_AUTH_TOKEN" --enable --read allow --write ask --json
kosmokrator integrations:doctor vero --json
kosmokrator integrations:status --json Credentials
Authentication type: API token api_token. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.
| Key | Env var | Type | Required | Label |
|---|---|---|---|---|
auth_token | VERO_AUTH_TOKEN | Secret secret | yes | Auth Token |
url | VERO_URL | URL url | no | API Base URL |
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
kosmo integrations:call vero.vero_get_current_user '{}' --json kosmo integrations:vero vero_get_current_user '{}' --json Discovery
These commands return structured output for coding agents that need to inspect capabilities before choosing a function.
kosmo integrations:docs vero --json
kosmo integrations:docs vero.vero_get_current_user --json
kosmo integrations:schema vero.vero_get_current_user --json
kosmo integrations:search "Vero" --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.
vero.vero_get_current_user
Return Vero Track API configuration status. Vero does not expose a current-user endpoint, so API access is verified when write tools run.
read - Parameters
- none
kosmo integrations:call vero.vero_get_current_user '{}' --json kosmo integrations:vero vero_get_current_user '{}' --json vero.vero_identify_user
Identify (create or update) a user in Vero. Pass a unique user ID, email, optional name, and any custom attributes in the data object. This creates the user if they don't exist, or updates their profile if they do.
write - Parameters
- id, email, name, data, channels
kosmo integrations:call vero.vero_identify_user '{"id":"example_id","email":"example_email","name":"example_name","data":"example_data","channels":"example_channels"}' --json kosmo integrations:vero vero_identify_user '{"id":"example_id","email":"example_email","name":"example_name","data":"example_data","channels":"example_channels"}' --json vero.vero_update_user
Update a user's profile in Vero via the official identify endpoint. Pass the user ID, an optional email, and a data object with attributes to update.
write - Parameters
- id, email, data
kosmo integrations:call vero.vero_update_user '{"id":"example_id","email":"example_email","data":"example_data"}' --json kosmo integrations:vero vero_update_user '{"id":"example_id","email":"example_email","data":"example_data"}' --json vero.vero_alias_user
Change a Vero user identifier with the official alias endpoint. This merges identities and should be used carefully.
write - Parameters
- id, new_id
kosmo integrations:call vero.vero_alias_user '{"id":"example_id","new_id":"example_new_id"}' --json kosmo integrations:vero vero_alias_user '{"id":"example_id","new_id":"example_new_id"}' --json vero.vero_unsubscribe
Unsubscribe a user from all Vero email campaigns. The user will no longer receive any email communication.
write - Parameters
- id
kosmo integrations:call vero.vero_unsubscribe '{"id":"example_id"}' --json kosmo integrations:vero vero_unsubscribe '{"id":"example_id"}' --json vero.vero_resubscribe
Resubscribe a previously unsubscribed user to Vero email campaigns. The user will start receiving emails again.
write - Parameters
- id
kosmo integrations:call vero.vero_resubscribe '{"id":"example_id"}' --json kosmo integrations:vero vero_resubscribe '{"id":"example_id"}' --json vero.vero_delete_user
Delete a Vero user by ID. This permanently removes profile properties and tracked activity.
write - Parameters
- id
kosmo integrations:call vero.vero_delete_user '{"id":"example_id"}' --json kosmo integrations:vero vero_delete_user '{"id":"example_id"}' --json vero.vero_edit_tags
Add and/or remove tags on a Vero user profile using the official tag edit endpoint.
write - Parameters
- id, add, remove
kosmo integrations:call vero.vero_edit_tags '{"id":"example_id","add":"example_add","remove":"example_remove"}' --json kosmo integrations:vero vero_edit_tags '{"id":"example_id","add":"example_add","remove":"example_remove"}' --json vero.vero_track_event
Track a behavioral event for a user in Vero. Pass an identity object with id and/or email, an event name, optional event data, and optional extras such as source or created_at.
write - Parameters
- identity, event_name, data, extras
kosmo integrations:call vero.vero_track_event '{"identity":"example_identity","event_name":"example_event_name","data":"example_data","extras":"example_extras"}' --json kosmo integrations:vero vero_track_event '{"identity":"example_identity","event_name":"example_event_name","data":"example_data","extras":"example_extras"}' --json vero.vero_api_get
Call a relative Vero API GET path. Use for documented endpoints not yet exposed as first-class tools.
read - Parameters
- path, params
kosmo integrations:call vero.vero_api_get '{"path":"example_path","params":"example_params"}' --json kosmo integrations:vero vero_api_get '{"path":"example_path","params":"example_params"}' --json vero.vero_api_post
Call a relative Vero API POST path. Use for documented endpoints not yet exposed as first-class tools.
write - Parameters
- path, payload
kosmo integrations:call vero.vero_api_post '{"path":"example_path","payload":"example_payload"}' --json kosmo integrations:vero vero_api_post '{"path":"example_path","payload":"example_payload"}' --json vero.vero_api_put
Call a relative Vero API PUT path. Use for documented endpoints not yet exposed as first-class tools.
write - Parameters
- path, payload
kosmo integrations:call vero.vero_api_put '{"path":"example_path","payload":"example_payload"}' --json kosmo integrations:vero vero_api_put '{"path":"example_path","payload":"example_payload"}' --json vero.vero_api_delete
Call a relative Vero API DELETE path. Use for documented endpoints not yet exposed as first-class tools.
write - Parameters
- path, payload
kosmo integrations:call vero.vero_api_delete '{"path":"example_path","payload":"example_payload"}' --json kosmo integrations:vero vero_api_delete '{"path":"example_path","payload":"example_payload"}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
vero.vero_get_current_user 0 parameters
kosmo integrations:schema vero.vero_get_current_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
vero.vero_identify_user 5 parameters
kosmo integrations:schema vero.vero_identify_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | Unique user identifier (e.g., database ID or UUID). |
email | string | yes | User email address. |
name | string | no | Display name for the user. |
data | object | no | Custom user attributes as key-value pairs (e.g., {"plan": "premium", "signup_date": "2025-01-15"}). |
channels | array | no | Optional Vero channel objects, such as push tokens with type, address, and platform. |
vero.vero_update_user 3 parameters
kosmo integrations:schema vero.vero_update_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | Unique user identifier to update. |
email | string | no | New email address for the user. |
data | object | no | Attributes to update as key-value pairs (e.g., {"plan": "enterprise", "company": "Acme Inc"}). |
vero.vero_alias_user 2 parameters
kosmo integrations:schema vero.vero_alias_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | Existing user identifier. |
new_id | string | yes | Replacement user identifier. |
vero.vero_unsubscribe 1 parameters
kosmo integrations:schema vero.vero_unsubscribe --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | Unique user identifier to unsubscribe. |
vero.vero_resubscribe 1 parameters
kosmo integrations:schema vero.vero_resubscribe --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | Unique user identifier to resubscribe. |
vero.vero_delete_user 1 parameters
kosmo integrations:schema vero.vero_delete_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | Unique user identifier to delete. |
vero.vero_edit_tags 3 parameters
kosmo integrations:schema vero.vero_edit_tags --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | Unique user identifier. |
add | array | no | Tags to add. |
remove | array | no | Tags to remove. |
vero.vero_track_event 4 parameters
kosmo integrations:schema vero.vero_track_event --json | Parameter | Type | Required | Description |
|---|---|---|---|
identity | object,string | yes | Identity object with id and/or email. A string is accepted for legacy calls and sent as id. |
event_name | string | yes | Name of the event to track (e.g., "Logged in", "Added to cart", "Purchased"). |
data | object | no | Event-specific data as key-value pairs (e.g., {"product": "Widget", "price": 29.99}). |
extras | object | no | Optional Vero-specific extras such as source, created_at, or conversion data. |
vero.vero_api_get 2 parameters
kosmo integrations:schema vero.vero_api_get --json | Parameter | Type | Required | Description |
|---|---|---|---|
path | string | yes | Relative Vero API path such as /campaigns. Absolute URLs are rejected. |
params | object | no | Query parameters. auth_token is added automatically. |
vero.vero_api_post 2 parameters
kosmo integrations:schema vero.vero_api_post --json | Parameter | Type | Required | Description |
|---|---|---|---|
path | string | yes | Relative Vero API path such as /users/track. Absolute URLs are rejected. |
payload | object | no | JSON request body. auth_token is added as a query parameter automatically. |
vero.vero_api_put 2 parameters
kosmo integrations:schema vero.vero_api_put --json | Parameter | Type | Required | Description |
|---|---|---|---|
path | string | yes | Relative Vero API path such as /users/tags/edit. Absolute URLs are rejected. |
payload | object | no | JSON request body. auth_token is added as a query parameter automatically. |
vero.vero_api_delete 2 parameters
kosmo integrations:schema vero.vero_api_delete --json | Parameter | Type | Required | Description |
|---|---|---|---|
path | string | yes | Relative Vero API path. Absolute URLs are rejected. |
payload | object | no | Optional JSON request body. auth_token is added as a query parameter automatically. |
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.