productivity
RingCentral CLI for AI Agents
Use the RingCentral CLI from KosmoKrator to call RingCentral tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.RingCentral CLI Setup
RingCentral can be configured headlessly with `kosmokrator integrations:configure ringcentral`.
# 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 ringcentral --set access_token="$RINGCENTRAL_ACCESS_TOKEN" --enable --read allow --write ask --json
kosmokrator integrations:doctor ringcentral --json
kosmokrator integrations:status --json Credentials
Authentication type: Manual OAuth token oauth2_manual_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 | RINGCENTRAL_ACCESS_TOKEN | Secret secret | yes | Access Token |
url | RINGCENTRAL_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 ringcentral.ringcentral_list_messages '{"messageType":"example_messageType","dateFrom":"example_dateFrom","dateTo":"example_dateTo","direction":"example_direction","readStatus":"example_readStatus","perPage":1,"page":1}' --json kosmo integrations:ringcentral ringcentral_list_messages '{"messageType":"example_messageType","dateFrom":"example_dateFrom","dateTo":"example_dateTo","direction":"example_direction","readStatus":"example_readStatus","perPage":1,"page":1}' --json Discovery
These commands return structured output for coding agents that need to inspect capabilities before choosing a function.
kosmo integrations:docs ringcentral --json
kosmo integrations:docs ringcentral.ringcentral_list_messages --json
kosmo integrations:schema ringcentral.ringcentral_list_messages --json
kosmo integrations:search "RingCentral" --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.
ringcentral.ringcentral_list_messages
List messages from the RingCentral message store. Supports filtering by type (SMS, Fax, VoiceMail), date range, read status, and direction. Returns paginated message records.
read - Parameters
- messageType, dateFrom, dateTo, direction, readStatus, perPage, page
kosmo integrations:call ringcentral.ringcentral_list_messages '{"messageType":"example_messageType","dateFrom":"example_dateFrom","dateTo":"example_dateTo","direction":"example_direction","readStatus":"example_readStatus","perPage":1,"page":1}' --json kosmo integrations:ringcentral ringcentral_list_messages '{"messageType":"example_messageType","dateFrom":"example_dateFrom","dateTo":"example_dateTo","direction":"example_direction","readStatus":"example_readStatus","perPage":1,"page":1}' --json ringcentral.ringcentral_get_message
Get detailed information about a specific message in the RingCentral message store by its ID. Returns the full message record including sender, recipient, subject, and content.
read - Parameters
- messageId
kosmo integrations:call ringcentral.ringcentral_get_message '{"messageId":"example_messageId"}' --json kosmo integrations:ringcentral ringcentral_get_message '{"messageId":"example_messageId"}' --json ringcentral.ringcentral_update_message
Update a RingCentral message store record, commonly to set readStatus to Read or Unread.
write - Parameters
- message_id, readStatus, payload
kosmo integrations:call ringcentral.ringcentral_update_message '{"message_id":"example_message_id","readStatus":"example_readStatus","payload":"example_payload"}' --json kosmo integrations:ringcentral ringcentral_update_message '{"message_id":"example_message_id","readStatus":"example_readStatus","payload":"example_payload"}' --json ringcentral.ringcentral_delete_message
Delete a message from the authenticated extension's RingCentral message store.
write - Parameters
- message_id
kosmo integrations:call ringcentral.ringcentral_delete_message '{"message_id":"example_message_id"}' --json kosmo integrations:ringcentral ringcentral_delete_message '{"message_id":"example_message_id"}' --json ringcentral.ringcentral_send_sms
Send an SMS message via RingCentral. The "from" number must be a phone number assigned to the authenticated extension. The "to" number is the destination phone number.
write - Parameters
- from, to, text
kosmo integrations:call ringcentral.ringcentral_send_sms '{"from":"example_from","to":"example_to","text":"example_text"}' --json kosmo integrations:ringcentral ringcentral_send_sms '{"from":"example_from","to":"example_to","text":"example_text"}' --json ringcentral.ringcentral_list_calls
List call log records for the authenticated RingCentral extension. Supports filtering by date range, direction, type, and phone number. Returns paginated call records with caller, receiver, duration, and result.
read - Parameters
- dateFrom, dateTo, direction, type, phoneNumber, perPage, page
kosmo integrations:call ringcentral.ringcentral_list_calls '{"dateFrom":"example_dateFrom","dateTo":"example_dateTo","direction":"example_direction","type":"example_type","phoneNumber":"example_phoneNumber","perPage":1,"page":1}' --json kosmo integrations:ringcentral ringcentral_list_calls '{"dateFrom":"example_dateFrom","dateTo":"example_dateTo","direction":"example_direction","type":"example_type","phoneNumber":"example_phoneNumber","perPage":1,"page":1}' --json ringcentral.ringcentral_list_account_calls
List account-level call log records for RingCentral. Admin permissions may be required.
read - Parameters
- dateFrom, dateTo, direction, type, phoneNumber, extensionNumber, perPage, page
kosmo integrations:call ringcentral.ringcentral_list_account_calls '{"dateFrom":"example_dateFrom","dateTo":"example_dateTo","direction":"example_direction","type":"example_type","phoneNumber":"example_phoneNumber","extensionNumber":"example_extensionNumber","perPage":1,"page":1}' --json kosmo integrations:ringcentral ringcentral_list_account_calls '{"dateFrom":"example_dateFrom","dateTo":"example_dateTo","direction":"example_direction","type":"example_type","phoneNumber":"example_phoneNumber","extensionNumber":"example_extensionNumber","perPage":1,"page":1}' --json ringcentral.ringcentral_get_call
Get a single call log record for the authenticated RingCentral extension.
read - Parameters
- call_id
kosmo integrations:call ringcentral.ringcentral_get_call '{"call_id":"example_call_id"}' --json kosmo integrations:ringcentral ringcentral_get_call '{"call_id":"example_call_id"}' --json ringcentral.ringcentral_list_contacts
List contacts from the RingCentral personal address book. Supports filtering by name prefix and pagination. Returns contact records with names, phone numbers, and email addresses.
read - Parameters
- startsWith, perPage, page
kosmo integrations:call ringcentral.ringcentral_list_contacts '{"startsWith":"example_startsWith","perPage":1,"page":1}' --json kosmo integrations:ringcentral ringcentral_list_contacts '{"startsWith":"example_startsWith","perPage":1,"page":1}' --json ringcentral.ringcentral_get_contact
Get a RingCentral personal address book contact by contact ID.
read - Parameters
- contact_id
kosmo integrations:call ringcentral.ringcentral_get_contact '{"contact_id":"example_contact_id"}' --json kosmo integrations:ringcentral ringcentral_get_contact '{"contact_id":"example_contact_id"}' --json ringcentral.ringcentral_create_contact
Create a contact in the authenticated RingCentral extension's personal address book.
write - Parameters
- firstName, lastName, company, email, businessPhone, mobilePhone, payload
kosmo integrations:call ringcentral.ringcentral_create_contact '{"firstName":"example_firstName","lastName":"example_lastName","company":"example_company","email":"example_email","businessPhone":"example_businessPhone","mobilePhone":"example_mobilePhone","payload":"example_payload"}' --json kosmo integrations:ringcentral ringcentral_create_contact '{"firstName":"example_firstName","lastName":"example_lastName","company":"example_company","email":"example_email","businessPhone":"example_businessPhone","mobilePhone":"example_mobilePhone","payload":"example_payload"}' --json ringcentral.ringcentral_update_contact
Update a RingCentral personal address book contact by contact ID.
write - Parameters
- contact_id, firstName, lastName, company, email, businessPhone, mobilePhone, payload
kosmo integrations:call ringcentral.ringcentral_update_contact '{"contact_id":"example_contact_id","firstName":"example_firstName","lastName":"example_lastName","company":"example_company","email":"example_email","businessPhone":"example_businessPhone","mobilePhone":"example_mobilePhone","payload":"example_payload"}' --json kosmo integrations:ringcentral ringcentral_update_contact '{"contact_id":"example_contact_id","firstName":"example_firstName","lastName":"example_lastName","company":"example_company","email":"example_email","businessPhone":"example_businessPhone","mobilePhone":"example_mobilePhone","payload":"example_payload"}' --json ringcentral.ringcentral_delete_contact
Delete a contact from the authenticated RingCentral extension's personal address book.
write - Parameters
- contact_id
kosmo integrations:call ringcentral.ringcentral_delete_contact '{"contact_id":"example_contact_id"}' --json kosmo integrations:ringcentral ringcentral_delete_contact '{"contact_id":"example_contact_id"}' --json ringcentral.ringcentral_get_account
Get RingCentral account metadata for the authenticated token.
read - Parameters
- none
kosmo integrations:call ringcentral.ringcentral_get_account '{}' --json kosmo integrations:ringcentral ringcentral_get_account '{}' --json ringcentral.ringcentral_list_extensions
List users and extensions in the RingCentral account with optional type/status filters and pagination.
read - Parameters
- extensionType, status, perPage, page
kosmo integrations:call ringcentral.ringcentral_list_extensions '{"extensionType":"example_extensionType","status":"example_status","perPage":1,"page":1}' --json kosmo integrations:ringcentral ringcentral_list_extensions '{"extensionType":"example_extensionType","status":"example_status","perPage":1,"page":1}' --json ringcentral.ringcentral_get_extension
Get details for a RingCentral extension by extension ID.
read - Parameters
- extension_id
kosmo integrations:call ringcentral.ringcentral_get_extension '{"extension_id":"example_extension_id"}' --json kosmo integrations:ringcentral ringcentral_get_extension '{"extension_id":"example_extension_id"}' --json ringcentral.ringcentral_list_account_phone_numbers
List RingCentral account phone numbers, including usage type, phone number type, and assignment metadata.
read - Parameters
- usageType, status, perPage, page
kosmo integrations:call ringcentral.ringcentral_list_account_phone_numbers '{"usageType":"example_usageType","status":"example_status","perPage":1,"page":1}' --json kosmo integrations:ringcentral ringcentral_list_account_phone_numbers '{"usageType":"example_usageType","status":"example_status","perPage":1,"page":1}' --json ringcentral.ringcentral_list_extension_phone_numbers
List phone numbers assigned to the authenticated RingCentral extension.
read - Parameters
- usageType, perPage, page
kosmo integrations:call ringcentral.ringcentral_list_extension_phone_numbers '{"usageType":"example_usageType","perPage":1,"page":1}' --json kosmo integrations:ringcentral ringcentral_list_extension_phone_numbers '{"usageType":"example_usageType","perPage":1,"page":1}' --json ringcentral.ringcentral_get_presence
Get presence for the authenticated RingCentral extension, including telephony status and user status when available.
read - Parameters
- detailedTelephonyState
kosmo integrations:call ringcentral.ringcentral_get_presence '{"detailedTelephonyState":true}' --json kosmo integrations:ringcentral ringcentral_get_presence '{"detailedTelephonyState":true}' --json ringcentral.ringcentral_get_current_user
Get information about the currently authenticated RingCentral extension. Returns extension ID, name, status, phone numbers, and account details.
read - Parameters
- none
kosmo integrations:call ringcentral.ringcentral_get_current_user '{}' --json kosmo integrations:ringcentral ringcentral_get_current_user '{}' --json ringcentral.ringcentral_api_get
Call a relative RingCentral REST API GET path, such as "/restapi/v1.0/account/~". Absolute URLs are rejected.
read - Parameters
- path, params
kosmo integrations:call ringcentral.ringcentral_api_get '{"path":"example_path","params":"example_params"}' --json kosmo integrations:ringcentral ringcentral_api_get '{"path":"example_path","params":"example_params"}' --json ringcentral.ringcentral_api_post
Call a relative RingCentral REST API POST path with a JSON body. Absolute URLs are rejected.
write - Parameters
- path, payload
kosmo integrations:call ringcentral.ringcentral_api_post '{"path":"example_path","payload":"example_payload"}' --json kosmo integrations:ringcentral ringcentral_api_post '{"path":"example_path","payload":"example_payload"}' --json ringcentral.ringcentral_api_put
Call a relative RingCentral REST API PUT path with a JSON body. Absolute URLs are rejected.
write - Parameters
- path, payload
kosmo integrations:call ringcentral.ringcentral_api_put '{"path":"example_path","payload":"example_payload"}' --json kosmo integrations:ringcentral ringcentral_api_put '{"path":"example_path","payload":"example_payload"}' --json ringcentral.ringcentral_api_delete
Call a relative RingCentral REST API DELETE path. Absolute URLs are rejected.
write - Parameters
- path, payload
kosmo integrations:call ringcentral.ringcentral_api_delete '{"path":"example_path","payload":"example_payload"}' --json kosmo integrations:ringcentral ringcentral_api_delete '{"path":"example_path","payload":"example_payload"}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
ringcentral.ringcentral_list_messages 7 parameters
kosmo integrations:schema ringcentral.ringcentral_list_messages --json | Parameter | Type | Required | Description |
|---|---|---|---|
messageType | string | no | Filter by message type: Sms, Fax, VoiceMail, Pager, or All (default: All). |
dateFrom | string | no | Start date for filtering (ISO 8601, e.g., "2025-01-01T00:00:00Z"). |
dateTo | string | no | End date for filtering (ISO 8601, e.g., "2025-01-31T23:59:59Z"). |
direction | string | no | Filter by direction: Inbound, Outbound, or All. |
readStatus | string | no | Filter by read status: Read, Unread, or All. |
perPage | integer | no | Number of records per page (default: 100, max: 1000). |
page | integer | no | Page number for pagination (default: 1). |
ringcentral.ringcentral_get_message 1 parameters
kosmo integrations:schema ringcentral.ringcentral_get_message --json | Parameter | Type | Required | Description |
|---|---|---|---|
messageId | string | yes | The unique identifier of the message record. |
ringcentral.ringcentral_update_message 3 parameters
kosmo integrations:schema ringcentral.ringcentral_update_message --json | Parameter | Type | Required | Description |
|---|---|---|---|
message_id | string | yes | Message record ID. |
readStatus | string | no | Read or Unread. |
payload | object | no | Additional official message update fields. |
ringcentral.ringcentral_delete_message 1 parameters
kosmo integrations:schema ringcentral.ringcentral_delete_message --json | Parameter | Type | Required | Description |
|---|---|---|---|
message_id | string | yes | Message record ID. |
ringcentral.ringcentral_send_sms 3 parameters
kosmo integrations:schema ringcentral.ringcentral_send_sms --json | Parameter | Type | Required | Description |
|---|---|---|---|
from | string | yes | The phone number to send from (must be a RingCentral number assigned to the extension, e.g., "+16505551234"). |
to | string | yes | The destination phone number (e.g., "+16505559876"). |
text | string | yes | The SMS message body text. Maximum 160 characters per segment; longer messages are concatenated. |
ringcentral.ringcentral_list_calls 7 parameters
kosmo integrations:schema ringcentral.ringcentral_list_calls --json | Parameter | Type | Required | Description |
|---|---|---|---|
dateFrom | string | no | Start date for filtering (ISO 8601, e.g., "2025-01-01T00:00:00Z"). |
dateTo | string | no | End date for filtering (ISO 8601, e.g., "2025-01-31T23:59:59Z"). |
direction | string | no | Filter by direction: Inbound, Outbound, or All. |
type | string | no | Filter by call type: Voice, Fax, or All. |
phoneNumber | string | no | Filter by phone number (caller or receiver). |
perPage | integer | no | Number of records per page (default: 100, max: 1000). |
page | integer | no | Page number for pagination (default: 1). |
ringcentral.ringcentral_list_account_calls 8 parameters
kosmo integrations:schema ringcentral.ringcentral_list_account_calls --json | Parameter | Type | Required | Description |
|---|---|---|---|
dateFrom | string | no | Start date for filtering. |
dateTo | string | no | End date for filtering. |
direction | string | no | Inbound, Outbound, or All. |
type | string | no | Voice, Fax, or All. |
phoneNumber | string | no | Filter by caller or receiver phone number. |
extensionNumber | string | no | Filter by extension number. |
perPage | integer | no | Records per page. |
page | integer | no | Page number. |
ringcentral.ringcentral_get_call 1 parameters
kosmo integrations:schema ringcentral.ringcentral_get_call --json | Parameter | Type | Required | Description |
|---|---|---|---|
call_id | string | yes | Call log record ID. |
ringcentral.ringcentral_list_contacts 3 parameters
kosmo integrations:schema ringcentral.ringcentral_list_contacts --json | Parameter | Type | Required | Description |
|---|---|---|---|
startsWith | string | no | Filter contacts whose first name, last name, or company name starts with this string. |
perPage | integer | no | Number of records per page (default: 100, max: 1000). |
page | integer | no | Page number for pagination (default: 1). |
ringcentral.ringcentral_get_contact 1 parameters
kosmo integrations:schema ringcentral.ringcentral_get_contact --json | Parameter | Type | Required | Description |
|---|---|---|---|
contact_id | string | yes | Address book contact ID. |
ringcentral.ringcentral_create_contact 7 parameters
kosmo integrations:schema ringcentral.ringcentral_create_contact --json | Parameter | Type | Required | Description |
|---|---|---|---|
firstName | string | no | First name. |
lastName | string | no | Last name. |
company | string | no | Company name. |
email | string | no | Email address. |
businessPhone | string | no | Business phone number. |
mobilePhone | string | no | Mobile phone number. |
payload | object | no | Additional official contact fields. |
ringcentral.ringcentral_update_contact 8 parameters
kosmo integrations:schema ringcentral.ringcentral_update_contact --json | Parameter | Type | Required | Description |
|---|---|---|---|
contact_id | string | yes | Address book contact ID. |
firstName | string | no | First name. |
lastName | string | no | Last name. |
company | string | no | Company name. |
email | string | no | Email address. |
businessPhone | string | no | Business phone number. |
mobilePhone | string | no | Mobile phone number. |
payload | object | no | Additional official contact fields. |
ringcentral.ringcentral_delete_contact 1 parameters
kosmo integrations:schema ringcentral.ringcentral_delete_contact --json | Parameter | Type | Required | Description |
|---|---|---|---|
contact_id | string | yes | Address book contact ID. |
ringcentral.ringcentral_get_account 0 parameters
kosmo integrations:schema ringcentral.ringcentral_get_account --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
ringcentral.ringcentral_list_extensions 4 parameters
kosmo integrations:schema ringcentral.ringcentral_list_extensions --json | Parameter | Type | Required | Description |
|---|---|---|---|
extensionType | string | no | Filter by extension type such as User, Department, or Announcement. |
status | string | no | Filter by extension status. |
perPage | integer | no | Records per page. |
page | integer | no | Page number. |
ringcentral.ringcentral_get_extension 1 parameters
kosmo integrations:schema ringcentral.ringcentral_get_extension --json | Parameter | Type | Required | Description |
|---|---|---|---|
extension_id | string | yes | RingCentral extension ID. |
ringcentral.ringcentral_list_account_phone_numbers 4 parameters
kosmo integrations:schema ringcentral.ringcentral_list_account_phone_numbers --json | Parameter | Type | Required | Description |
|---|---|---|---|
usageType | string | no | Filter by usage type such as MainCompanyNumber or DirectNumber. |
status | string | no | Filter by phone number status. |
perPage | integer | no | Records per page. |
page | integer | no | Page number. |
ringcentral.ringcentral_list_extension_phone_numbers 3 parameters
kosmo integrations:schema ringcentral.ringcentral_list_extension_phone_numbers --json | Parameter | Type | Required | Description |
|---|---|---|---|
usageType | string | no | Filter by usage type. |
perPage | integer | no | Records per page. |
page | integer | no | Page number. |
ringcentral.ringcentral_get_presence 1 parameters
kosmo integrations:schema ringcentral.ringcentral_get_presence --json | Parameter | Type | Required | Description |
|---|---|---|---|
detailedTelephonyState | boolean | no | Request detailed telephony state when supported. |
ringcentral.ringcentral_get_current_user 0 parameters
kosmo integrations:schema ringcentral.ringcentral_get_current_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
ringcentral.ringcentral_api_get 2 parameters
kosmo integrations:schema ringcentral.ringcentral_api_get --json | Parameter | Type | Required | Description |
|---|---|---|---|
path | string | yes | Relative RingCentral API path. |
params | object | no | Query parameters. |
ringcentral.ringcentral_api_post 2 parameters
kosmo integrations:schema ringcentral.ringcentral_api_post --json | Parameter | Type | Required | Description |
|---|---|---|---|
path | string | yes | Relative RingCentral API path. |
payload | object | no | JSON request body. |
ringcentral.ringcentral_api_put 2 parameters
kosmo integrations:schema ringcentral.ringcentral_api_put --json | Parameter | Type | Required | Description |
|---|---|---|---|
path | string | yes | Relative RingCentral API path. |
payload | object | no | JSON request body. |
ringcentral.ringcentral_api_delete 2 parameters
kosmo integrations:schema ringcentral.ringcentral_api_delete --json | Parameter | Type | Required | Description |
|---|---|---|---|
path | string | yes | Relative RingCentral API path. |
payload | object | no | Optional JSON body. |
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.